def test_store_json(self): with self.app_context(): store = StoreModel('My Store') item = ItemModel('Dress', 19.90, 1) expected = {'name': 'My Store', 'items': []} self.assertDictEqual(store.json(), expected) store.save_to_db() item.save_to_db() expected = expected = { 'name': 'My Store', 'items': [{ 'name': 'Dress', 'price': 19.90 }] } self.assertDictEqual(store.json(), expected)
def post(self, name): if StoreModel.find_by_name(name): return { 'message': "A store with name '{}' already exists.".format(name) }, 400 store = StoreModel(name) try: store.save_to_db() except: return {"message": "An error occurred creating the store."}, 500 return store.json(), 201
def test_store_relationship(self): with self.app_context(): store = StoreModel('My store') item = ItemModel('dress', 19.99, 1) store.save_to_db() item.save_to_db() self.assertEqual(store.items.count(), 1) self.assertEqual(store.items.first().name, 'dress') self.assertEqual(store.json(), { 'items': [{ 'name': 'dress', 'price': 19.99 }], 'name': 'My store' })
def test_item_model_empty(self): with self.app_context(): store = StoreModel("my store") item = ItemModel("dress", 19.99, 1) self.assertEqual(store.json(), {'name': 'my store', 'items': []}) self.assertListEqual(store.items.all(), [])