def test_count_amenity(self):
     """test count with an argument"""
     test_len = len(storage.all("Amenity"))
     a = Amenity(name="test_amenity_2")
     a.save()
     self.assertEqual(test_len + 1, storage.count("Amenity"))
     storage.delete(a)
     self.assertEqual(test_len, storage.count("Amenity"))
 def test_new(self):
     # note: we cannot assume order of test is order written
     test_len = len(storage.all())
     # self.assertEqual(len(storage.all()), self.test_len)
     self.model.save()
     self.assertEqual(len(storage.all()), test_len + 1)
     a = Amenity(name="thing")
     a.save()
     self.assertEqual(len(storage.all()), test_len + 2)
 def test_save(self):
     test_len = len(storage.all())
     a = Amenity(name="another")
     a.save()
     self.assertEqual(len(storage.all()), test_len + 1)
     b = State(name="california")
     self.assertNotEqual(len(storage.all()), test_len + 2)
     b.save()
     self.assertEqual(len(storage.all()), test_len + 2)
 def test_delete_amenity_wrong(self):
     """the id does not match a amenity"""
     amenity_args = {"name": "quokka", "id": "QO"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.delete('{}/amenities/{}/'.format(self.path, "noID"),
                          follow_redirects=True)
     self.assertEqual(rv.status_code, 404)
     storage.delete(amenity)
 def test_link_bad_amenity_place(self):
     """test linking a non existing amenity to a place"""
     amenity_args = {"name": "bear", "id": "BA"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.post('{}/places/{}/amenities/{}/'.format(
         self.path, self.place.id, "noID"),
                       follow_redirects=True)
     self.assertEqual(rv.status_code, 404)
     storage.delete(amenity)
 def test_count(self):
     """test count all"""
     test_len = len(storage.all())
     a = Amenity(name="test_amenity")
     a.save()
     self.assertEqual(test_len + 1, storage.count())
     b = State(name="State test count")
     b.save()
     self.assertEqual(test_len + 2, storage.count())
     storage.delete(b)
     self.assertEqual(test_len + 1, storage.count())
 def test_update_amenity_bad_id(self):
     """test update with no matching id"""
     amenity_args = {"name": "quokka", "id": "QO"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.put('{}/amenities/{}/'.format(self.path, "noID"),
                       content_type="application/json",
                       data=json.dumps({"id": "Z"}),
                       follow_redirects=True)
     self.assertEqual(rv.status_code, 404)
     storage.delete(amenity)
 def test_delete_amenity_not_in_place(self):
     """test remove an amenity from a place without this amenity"""
     amenity_args = {"name": "bear", "id": "BA"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     # self.place.save()
     rv = self.app.delete('{}/places/{}/amenities/{}/'.format(
         self.path, self.place.id, amenity.id),
                          follow_redirects=True)
     self.assertEqual(rv.status_code, 404)
     storage.delete(amenity)
 def test_update_amenity_bad_json(self):
     """test update with ill formed json"""
     amenity_args = {"name": "quokka", "id": "QO2"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.put('{}/amenities/{}/'.format(self.path, amenity.id),
                       content_type="application/json",
                       data={"id": "Z"},
                       follow_redirects=True)
     self.assertEqual(rv.status_code, 400)
     self.assertEqual(rv.get_data(), b"Not a JSON")
     storage.delete(amenity)
示例#10
0
 def test_view_one_amenity(self):
     """test retrieving one amenity"""
     amenity_args = {"name": "quokka", "id": "QO2"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.get('{}/amenities/{}'.format(
         self.path, amenity_args["id"]), follow_redirects=True)
     self.assertEqual(rv.status_code, 200)
     self.assertEqual(rv.headers.get("Content-Type"), "application/json")
     json_format = getJson(rv)
     self.assertEqual(json_format.get("name"), amenity_args["name"])
     self.assertEqual(json_format.get("id"), amenity_args["id"])
     storage.delete(amenity)
示例#11
0
 def test_delete_amenity(self):
     """test delete a amenity"""
     amenity_args = {"name": "quokka", "id": "QO"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.delete('{}/amenities/{}/'.format(
         self.path, amenity_args["id"]),
                                follow_redirects=True)
     self.assertEqual(rv.status_code, 200)
     self.assertEqual(rv.headers.get("Content-Type"), "application/json")
     json_format = getJson(rv)
     self.assertEqual(json_format, {})
     self.assertIsNone(storage.get("Amenity", amenity_args["id"]))
示例#12
0
 def test_getamenities(self):
     """test listing all amenities"""
     amenity_args = {"name": "quokka"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.get('{}/amenities/'.format(self.path),
                       follow_redirects=True)
     self.assertEqual(rv.status_code, 200)
     self.assertEqual(rv.headers.get("Content-Type"), "application/json")
     json_format = getJson(rv)
     self.assertTrue(type(json_format), list)
     self.assertIn(amenity_args["name"],
                   [e.get("name") for e in json_format])
     storage.delete(amenity)
 def test_delete_amenity_in_place(self):
     """test remove an amenity from a place"""
     amenity_args = {"name": "bear", "id": "BA"}
     amenity = Amenity(**amenity_args)
     self.place.amenities.append(amenity)
     amenity.save()
     rv = self.app.delete('{}/places/{}/amenities/{}/'.format(
         self.path, self.place.id, "BA"),
                          follow_redirects=True)
     self.assertEqual(rv.status_code, 200)
     self.assertEqual(rv.headers.get("Content-Type"), "application/json")
     json_format = getJson(rv)
     self.assertEqual(json_format, {})
     self.assertIsNotNone(storage.get("Amenity", amenity.id))
     storage.delete(amenity)
示例#14
0
 def test_update_amenity_id(self):
     """test cannot update amenity id"""
     amenity_args = {"name": "quokka", "id": "QO1"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.put('{}/amenities/{}/'.format(self.path, amenity.id),
                       content_type="application/json",
                       data=json.dumps({"id": "Z"}),
                       follow_redirects=True)
     self.assertEqual(rv.status_code, 200)
     self.assertEqual(rv.headers.get("Content-Type"), "application/json")
     json_format = getJson(rv)
     self.assertEqual(json_format.get("name"), amenity_args["name"])
     self.assertEqual(json_format.get("id"), amenity_args["id"])
     storage.delete(amenity)
 def test_link_amenity_place(self):
     """test linking an amenity to a place"""
     amenity_args = {"name": "bear", "id": "BA"}
     amenity = Amenity(**amenity_args)
     amenity.save()
     rv = self.app.post('{}/places/{}/amenities/{}/'.format(
         self.path, self.place.id, amenity.id),
                       follow_redirects=True)
     self.assertEqual(rv.status_code, 201)
     json_format = getJson(rv)
     self.assertEqual(json_format.get("name"), amenity_args["name"])
     self.assertEqual(json_format.get("id"), amenity_args["id"])
     self.assertIn(self.amenity.id,
                   [a.id for a in storage.get("Place",
                                              self.place.id).amenities])
     storage.delete(amenity)
示例#16
0
 def test_get_amenity(self):
     """test get with valid cls and id"""
     a = Amenity(name="test_amenity3", id="test_3")
     a.save()
     result = storage.get("Amenity", "test_3")
     self.assertEqual(a.name, result.name)
     # does not work as the database loses last argument tzinfo for datetime
     # self.assertEqual(a.created_at, result.created_at)
     self.assertEqual(a.created_at.year, result.created_at.year)
     self.assertEqual(a.created_at.month, result.created_at.month)
     self.assertEqual(a.created_at.day, result.created_at.day)
     self.assertEqual(a.created_at.hour, result.created_at.hour)
     self.assertEqual(a.created_at.minute, result.created_at.minute)
     self.assertEqual(a.created_at.second, result.created_at.second)
     storage.delete(a)
     result = storage.get("Amenity", "test_3")
     self.assertIsNone(result)
示例#17
0
 def setUpClass(cls):
     """Called before test in an individual class are run
     """
     cls.a = Amenity()
     cls.a.name = "Pool"
# creation of a User
user = User(email="*****@*****.**",
            password="******",
            first_name="john",
            last_name="snow")
user.save()

# creation of 2 Places
place_1 = Place(user_id=user.id, city_id=city.id, name="House 1")
place_1.save()
place_2 = Place(user_id=user.id, city_id=city.id, name="House 2")
place_2.save()

# creation of 3 various Amenity
amenity_1 = Amenity(name="Wifi")
amenity_1.save()
amenity_2 = Amenity(name="Cable")
amenity_2.save()
amenity_3 = Amenity(name="Oven")
amenity_3.save()

# link place_1 with 2 amenities
place_1.amenities.append(amenity_1)
place_1.amenities.append(amenity_2)

# link place_2 with 3 amenities
place_2.amenities.append(amenity_1)
place_2.amenities.append(amenity_2)
place_2.amenities.append(amenity_3)
示例#19
0
 def test_subclass(self):
     """test if subclass of BaseModel"""
     amenity = Amenity()
     self.assertTrue(issubclass(amenity.__class__, BaseModel))
示例#20
0
 def test_reload(self):
     """not actually testing reload as it creates a parallel new session"""
     a = Amenity(name="different")
     a.save()
     for value in storage.all().values():
         self.assertIsInstance(value.created_at, datetime)
示例#21
0
 def test_instance(self):
     """ pass """
     a = Amenity()
     assert isinstance(a, Amenity)
示例#22
0
print("-- Create a new State --")
my_state = State()
my_state.name = "Bogota D.C"
my_state.save()
print(my_state)

print("-- Create a new City --")
my_city = City()
my_city.state_id = "948"
my_city.name = "Bogota"
my_city.save()
print(my_city)

print("-- Create a Amenity --")
my_amenity = Amenity()
my_amenity.name = "wifi"
my_amenity.save()
print(my_amenity)

print("-- Create a Place --")
x = Place()
x.city_id = "1"
x.user_id = "primero"
x.name = "casa de Charlie"
x.description = "gran casa cuenta con 2 habitaciones y 1 bano, wifi y un TV"
x.number_rooms = 2
x.number_bathrooms = 1
x.max_guest = 1
x.price_by_night = 900000
x.latitude = 98.89
 def test_Amenity_inheritence(self):
     '''
         tests that the Amenity class Inherits from BaseModel
     '''
     new_amenity = Amenity()
     self.assertIsInstance(new_amenity, BaseModel)
示例#24
0
 def test_amenity_name_string(self):
     """testing if amenity name is a string"""
     self.amenity = Amenity()
     self.assertEqual(type(self.amenity.name), str)
示例#25
0
 def CheckId(self):
     """
     Checks for a valid ID 
     """
     am1 = Amenity()
     self.assertEqual(type(am1.id) is str, True)
示例#26
0
 def Check_updated_at(self):
     """
     Checks for updated_at from BaseModel
     """
     am1 = Amenity()
     self.assertEqual(type(am1.updated_at) is datetime, True)
示例#27
0
 def Check_BaseModel_Inheritance(self):
     """
     Checks that Amenty inherits from BaseModel
     """
     am1 = Amenity()
     self.assertEqual(issubclass(type(am1), BaseModel), True)
示例#28
0
 def test_father(self):
     """
     Test attributes of Class Amenity
     """
     amenity1 = Amenity()
     self.assertTrue(issubclass(amenity1.__class__, BaseModel))
示例#29
0
 def test_class(self):
     """
     Test attributes of Class Amenity
     """
     amenity1 = Amenity()
     self.assertEqual(amenity1.__class__.__name__, "Amenity")
示例#30
0
 def setUp(self):
     """ setting up basic object """
     self.am = Amenity()
示例#31
0
 def test_amenity(self):
     """Test attributes of Class Amenity"""
     my_amenity = Amenity()
     my_amenity.name = "Wi-Fi"
     self.assertEqual(my_amenity.name, 'Wi-Fi')
示例#32
0
 def setUpClass(cls):
     """  xdxdxd  """
     cls.amenity = Amenity()
     cls.amenity.name = "Breakfast"
 def test_Amenity_attributes(self):
     '''
         Test that Amenity class had name attribute.
     '''
     new_amenity = Amenity()
     self.assertTrue("name" in new_amenity.__dir__())
示例#34
0
 def test_hasattribute(self):
     """Tests if the instance of BaseModel"""
     a = Amenity()
     self.assertTrue(hasattr(a, "name"))
 def test_str(self):
     ''' test correct output'''
     my_am = Amenity()
     my_str = "[Amenity] ({}) {}".format(my_am.id, my_am.__dict__)
     self.assertEqual(my_str, str(my_am))
示例#36
0
 def setUp(self):
     """setup"""
     self.am = Amenity()
示例#37
0
 def test_attribute_types(self):
     """test if amenity attrs are correct type"""
     amenity = Amenity()
     self.assertEqual(type(amenity.name), str)
示例#38
0
 def test_id(self):
     """ id testing """
     u = Amenity()
     u1 = Amenity()
     self.assertNotEqual(u.id, u1.id)
示例#39
0
 def test_docstrings(self):
     """test if docstrings exist"""
     amenity = Amenity()
     self.assertTrue(len(amenity.__doc__) > 0)
     for method in dir(amenity):
         self.assertTrue(len(method.__doc__) > 0)
示例#40
0
 def test_to_dict(self):
     """to_dict testing"""
     dic = Amenity()
     self.assertIsInstance(dic.to_dict(), dict)
示例#41
0
 def setUpClass(cls):
     """set up for test"""
     cls.amenity = Amenity()
     cls.amenity.name = "Breakfast"
示例#42
0
 def setUpClass(cls):
     """ Example Data """
     cls.amen = Amenity()
     cls.amen.name = "Wifi"
示例#43
0
 def test_task9(self):
     """ test instantiatione in the user class """
     a = Amenity()
     self.assertEqual(str(type(a)), "<class 'models.amenity.Amenity'>")
     self.assertIsInstance(a, Amenity)
     self.assertTrue(issubclass(type(a), Amenity))
示例#44
0
 def test_typeAttr(self):
     dic = {"name": "Louis"}
     a = Amenity(**dic)
     self.assertEqual(type(a.name), str)
示例#45
0
 def setUp(self):
     """ Sets up Amenity for every test """
     self.amenity = Amenity()
示例#46
0
 def test_type(self):
     a = Amenity()
     self.assertEqual(type(a.name), str)
 def test_type(self):
     '''test attr type'''
     my_am = Amenity()
     self.assertTrue(type(my_am.name) is str)
 def test_Amenity_attributes(self):
     '''
         Test that Amenity class had name attribute.
     '''
     new_amenity = Amenity()
     self.assertTrue("name" in new_amenity.__dir__())