Ejemplo n.º 1
0
    def test_add_stay_period(self):
        from_month = datetime(2018, 6, 1)
        to_month = datetime(2018, 7, 1)
        stay_period_object = crud.add_stay_period(from_month, to_month,
                                                  self.session)

        # check if the return object has correct information
        self.assertEqual(stay_period_object.from_month, from_month)
        self.assertEqual(stay_period_object.to_month, to_month)

        # check if the stay period is loaded into the database
        query_object = crud.get_row_if_exists(
            Stay_Period, self.session, **{
                'from_month': from_month,
                'to_month': to_month
            })

        self.assertEqual(query_object == stay_period_object, True)

        # one thing in the database
        number_of_rows = self.session.query(Stay_Period).count()
        self.assertEqual(number_of_rows == 1, True)
Ejemplo n.º 2
0
    def test_write_attribute(self):
        # create an user
        user_name = "cris"
        user_email = "*****@*****.**"
        created_time = datetime.now()
        user_phone = "858-2867-3567"
        user_description = "cultured man"
        user_school_year = "Third"
        user_major = "Data Science"
        user_object = crud.add_user(
            user_name, 
            user_email,
            created_time, 
            user_phone,
            user_description, 
            user_school_year,
            user_major, 
            self.session)

        # create a move in
        early_date = datetime(2018, 6, 1)
        late_date = datetime(2018, 6, 12)
        move_in_object = crud.add_move_in(
            early_date, 
            late_date, 
            self.session)

        # create a stay period
        from_month = datetime(2018, 6, 1)
        to_month = datetime(2018, 7, 1)
        stay_period_object = crud.add_stay_period(
            from_month, 
            to_month, 
            self.session)

        # create an address
        address = "75 Big Rock Cove St.Middletown, NY 10940"
        distance = "20 mins"
        address_object = crud.add_address(
            distance, 
            address, 
            self.session)

        # create a room
        date_created = datetime.now()
        room_type = room_types[0]
        price = 500
        negotiable = True
        description = "dream house in a life time"
        no_rooms = 2
        no_bathrooms = 2
        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        crud.write_attribute(
            facilities[0:3], 
            'facilities', 
            room_object, 
            self.session)
        
        count = self.session.query(House_Attribute).count()
        self.assertEqual(count == 3, True)

        categories = self.session.query(Attribute.category).distinct().all()
        self.assertEqual(categories[0][0] == 'facilities', True)
        
        names = set([result[0] for result in self.session.query(Attribute.name).all()])
        self.assertEqual(names == set(facilities[0:3]), True)
Ejemplo n.º 3
0
    def test_room_json(self):
        # create an user
        user_name = "cris"
        user_email = "*****@*****.**"
        created_time = datetime.now()
        user_phone = "858-2867-3567"
        user_description = "cultured man"
        user_school_year = "Third"
        user_major = "Data Science"
        user_object = crud.add_user(
            user_name, 
            user_email,
            created_time, 
            user_phone,
            user_description, 
            user_school_year,
            user_major, 
            self.session)

        # create a move in
        early_date = datetime(2018, 6, 1)
        late_date = datetime(2018, 6, 12)
        move_in_object = crud.add_move_in(
            early_date, 
            late_date, 
            self.session)

        # create a stay period
        from_month = datetime(2018, 6, 1)
        to_month = datetime(2018, 7, 1)
        stay_period_object = crud.add_stay_period(
            from_month, 
            to_month, 
            self.session)

        # create an address
        address = "75 Big Rock Cove St.Middletown, NY 10940"
        distance = "20 mins"
        address_object = crud.add_address(
            distance, 
            address, 
            self.session)

        # create a room
        date_created = datetime.now()
        room_type = room_types[0]
        price = 500
        negotiable = True
        description = "dream house in a life time"
        no_rooms = 2
        no_bathrooms = 2
        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        result_json = crud.room_json(
            room_object, 
            self.session, 
            True)

        self.assertEqual(result_json["name"] ==
                         "75 Big Rock Cove St.Middletown", True)
        self.assertEqual(result_json["location"] == address, True)
        self.assertEqual(result_json["pricePerMonth"] == price, True)
        self.assertEqual(result_json["from_month"] == "June/18", True)
        self.assertEqual(result_json["to_month"] == "July/18", True)
        self.assertEqual(result_json["early"] == "06/01/18", True)
        self.assertEqual(result_json["late"] == "06/12/18", True)
        self.assertEqual(result_json["roomType"] == room_type, True)
        self.assertEqual(result_json["other"] == [], True)
        self.assertEqual(result_json["facilities"] == [], True)
        self.assertEqual(result_json["leaserName"] == user_name, True)
        self.assertEqual(result_json["leaserEmail"] == user_email, True)
        self.assertEqual(result_json["leaserPhone"] == user_phone, True)
        self.assertEqual(
            result_json["leaserSchoolYear"] == user_school_year, True)
        self.assertEqual(result_json["leaserMajor"] == user_major, True)
        self.assertEqual(result_json["photos"] == ["photo1", "photo2"], True)
        self.assertEqual(result_json["profilePhoto"] == "profile_photo", True)
        self.assertEqual(result_json["roomId"] == room_object.id, True)
        self.assertEqual(result_json["negotiable"] == negotiable, True)
        self.assertEqual(result_json["numBaths"] == no_rooms, True)
        self.assertEqual(result_json["numBeds"] == no_bathrooms, True)
        self.assertEqual(result_json["roomDescription"] == description, True)

        # add three attributes
        name, category = others[0], "other"

        # create an attribute
        attribute_object = crud.add_attribute(
            name, 
            category, 
            self.session)

        # connect room with the attribute
        house_attribute_object = crud.add_house_attribute(
            room_object, 
            attribute_object, 
            self.session)

        name, category = others[1], "other"

        # create an attribute
        attribute_object = crud.add_attribute(
            name, 
            category, 
            self.session)

        # connect room with the attribute
        house_attribute_object = crud.add_house_attribute(
            room_object, 
            attribute_object, 
            self.session)

        name, category = facilities[0], "facilities"

        # create an attribute
        attribute_object = crud.add_attribute(
            name, 
            category, 
            self.session)

        # connect room with the attribute
        house_attribute_object = crud.add_house_attribute(
            room_object, 
            attribute_object, 
            self.session)

        result_json = crud.room_json(
            room_object, 
            self.session, 
            True)

        self.assertEqual(result_json["other"] == [others[0], others[1]], True)
        self.assertEqual(result_json["facilities"] == [facilities[0]], True)
Ejemplo n.º 4
0
    def test_read_rooms(self):
        # add room allows duplicates since one can have multiple rooms same time with same criteria
        # create an user
        user_name = "cris"
        user_email = "*****@*****.**"
        created_time = datetime.now()
        user_phone = "858-2867-3567"
        user_description = "cultured man"
        user_school_year = "Third"
        user_major = "Data Science"
        user_object = crud.add_user(
            user_name, 
            user_email,
            created_time, 
            user_phone,
            user_description, 
            user_school_year,
            user_major, 
            self.session)

        # create a move in
        early_date = datetime(2018, 6, 1)
        late_date = datetime(2018, 6, 12)
        move_in_object = crud.add_move_in(
            early_date, 
            late_date, 
            self.session)

        # create a stay period
        from_month = datetime(2018, 6, 1)
        to_month = datetime(2018, 7, 1)
        stay_period_object = crud.add_stay_period(
            from_month, 
            to_month, 
            self.session)

        # create an address
        address = "75 Big Rock Cove St.Middletown, NY 10940"
        distance = "20 mins"
        address_object = crud.add_address(
            distance, 
            address, 
            self.session)

        # create a room
        date_created = datetime.now()
        room_type = room_types[0]
        price = 500
        negotiable = True
        description = "dream house in a life time"
        no_rooms = 2
        no_bathrooms = 2
        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        number_of_rows = len(crud.read_rooms(self.session))
        self.assertEqual(number_of_rows == 3, True)

        # create a different user
        user_name = "keenan"
        user_email = "*****@*****.**"
        created_time = datetime.now()
        user_phone = "858-2867-8888"
        user_description = "HK Dutch man"
        user_school_year = "Grad"
        user_major = "Computer Science"
        user_object = crud.add_user(
            user_name, 
            user_email,
            created_time, 
            user_phone,
            user_description, 
            user_school_year,
            user_major, 
            self.session)

        # create a move in
        early_date = datetime(2018, 8, 1)
        late_date = datetime(2018, 10, 12)
        move_in_object = crud.add_move_in(
            early_date, 
            late_date, 
            self.session)

        # create a stay period
        from_month = datetime(2018, 10, 1)
        to_month = datetime(2019, 10, 1)
        stay_period_object = crud.add_stay_period(
            from_month, 
            to_month, 
            self.session)

        # create an address
        address = "75 Big Rock Cove St.Middletown, NY 10940"
        distance = "20 mins"
        address_object = crud.add_address(
            distance, 
            address, 
            self.session)

        # create a room
        date_created = datetime.now()
        room_type = room_types[0]
        price = 500
        negotiable = True
        description = "smoking is bad for your health"
        no_rooms = 4
        no_bathrooms = 5
        room_object = crud.add_room(
            date_created, 
            room_type, 
            price,
            negotiable, 
            description,
            stay_period_object, 
            address_object,
            user_object, 
            move_in_object,
            no_rooms, 
            no_bathrooms,
            self.session)

        number_of_rows = len(crud.read_rooms(self.session))
        self.assertEqual(number_of_rows == 4, True)
Ejemplo n.º 5
0
    def test_add_and_remove_bookmark(self):
        # create an user
        user_name = "cris"
        user_email = "*****@*****.**"
        created_time = datetime.now()
        user_phone = "858-2867-3567"
        user_description = "cultured man"
        user_school_year = "Third"
        user_major = "Data Science"
        user_object = crud.add_user(
            user_name,
            user_email,
            created_time,
            user_phone,
            user_description,
            user_school_year,
            user_major,
            self.session)

        # create a move in
        early_date = datetime(2018, 6, 1)
        late_date = datetime(2018, 6, 12)
        move_in_object = crud.add_move_in(
            early_date, 
            late_date, 
            self.session)

        # create a stay period
        from_month = datetime(2018, 6, 1)
        to_month = datetime(2018, 7, 1)
        stay_period_object = crud.add_stay_period(
            from_month, 
            to_month, 
            self.session)

        # create an address
        address = "75 Big Rock Cove St. Middletown, NY 10940"
        distance = "20 mins"
        address_object = crud.add_address(
            distance, 
            address, 
            self.session)

        # create a room
        date_created = datetime.now()
        room_type = room_types[0]
        price = 500
        negotiable = True
        description = "dream house in a life time"
        no_rooms = 2
        no_bathrooms = 2
        room_object = crud.add_room(
            date_created,
            room_type, 
            price,
            negotiable,
            description,
            stay_period_object,
            address_object,
            user_object,
            move_in_object,
            no_rooms,
            no_bathrooms,
            self.session)

        # connect bookmark with the room and user
        bookmark_object = crud.add_bookmark(
            room_object, 
            user_object, 
            self.session)

        # check if the return object has correct information
        self.assertEqual(bookmark_object.room_id, room_object.id)
        self.assertEqual(bookmark_object.user_id, user_object.id)

        # check duplicate handling
        bookmark_object = crud.add_bookmark(
            room_object, 
            user_object, 
            self.session)

        number_of_rows = self.session.query(Bookmark).count()
        self.assertEqual(number_of_rows == 1, True)

        # check delete
        crud.remove_bookmark(
            room_object, 
            user_object, 
            self.session)

        number_of_rows = self.session.query(Bookmark).count()
        self.assertEqual(number_of_rows == 0, True)

        crud.remove_bookmark(
            room_object, 
            user_object, 
            self.session)

        number_of_rows = self.session.query(Bookmark).count()
        self.assertEqual(number_of_rows == 0, True)
Ejemplo n.º 6
0
    def test_add_house_attribute(self):
        name, category = others[0], "other"

        # create an attribute (Single Case)
        attribute_object = crud.add_attribute(
            name, 
            category, 
            self.session)

        # create a stay period
        from_month = datetime(2018, 6, 1)
        to_month = datetime(2018, 7, 1)
        stay_period_object = crud.add_stay_period(
            from_month, 
            to_month, 
            self.session)

        # create an address
        address = "75 Big Rock Cove St.Middletown, NY 10940"
        distance = "20 mins"
        address_object = crud.add_address(
            distance, 
            address, 
            self.session)

        # create an user
        user_name = "cris"
        user_email = "*****@*****.**"
        created_time = datetime.now()
        user_phone = "858-2867-3567"
        user_description = "cultured man"
        user_school_year = "Third"
        user_major = "Data Science"
        user_object = crud.add_user(
            user_name, 
            user_email,
            created_time, 
            user_phone,
            user_description, 
            user_school_year,
            user_major, 
            self.session)

        # create a move in
        early_date = datetime(2018, 6, 1)
        late_date = datetime(2018, 6, 12)
        move_in_object = crud.add_move_in(
            early_date, 
            late_date, 
            self.session)

        # create a room
        date_created = datetime.now()
        room_type = room_types[0]
        price = 500
        negotiable = True
        description = "dream house in a life time"
        no_rooms = 2
        no_bathrooms = 2
        room_object = crud.add_room(
            date_created,
            room_type, 
            price,
            negotiable,
            description,
            stay_period_object,
            address_object,
            user_object,
            move_in_object,
            no_rooms,
            no_bathrooms,
            self.session)

        # connect room with the attribute
        house_attribute_object = crud.add_house_attribute(
            room_object,
            attribute_object,
            self.session)

        # check if the return object has correct information
        self.assertEqual(house_attribute_object.room_id, room_object.id)
        self.assertEqual(house_attribute_object.attribute_name,
                         attribute_object.name)

        # one thing in the database
        number_of_rows = self.session.query(House_Attribute).count()
        self.assertEqual(number_of_rows == 1, True)

        # create two attributes (multiple Case)
        name, category = others[1], "other"

        # create a second attribute
        attribute_object = crud.add_attribute(
            name, 
            category, 
            self.session)

        house_attribute_object = crud.add_house_attribute(
            room_object, 
            attribute_object, 
            self.session)

        # check if the return object has correct information
        self.assertEqual(house_attribute_object.room_id, room_object.id)
        self.assertEqual(house_attribute_object.attribute_name,
                         attribute_object.name)

        # two things in the database
        number_of_rows = self.session.query(House_Attribute).count()
        self.assertEqual(number_of_rows == 2, True)

        # check duplicate handling
        house_attribute_object = crud.add_house_attribute(
            room_object, 
            attribute_object, 
            self.session)

        number_of_rows = self.session.query(House_Attribute).count()
        self.assertEqual(number_of_rows == 2, True)