def test_crud(self): with self.app_context(): store = StoreModel.find_store_by_id(1) self.assertIsNotNone(store) self.assertEqual(store, StoreModel.find_store_by_name("amazon")) self.assertEqual(1, store.id) self.assertEqual("amazon", store.name) self.assertListEqual(["test_name"], [item.name for item in store.items.all()]) self.assertDictEqual( { "id": 1, "items": [{ "id": 1, "store_id": 1, "name": "test_name", "price": 23.45 }], "name": "amazon", }, self.store_schema.dump(store), ) store.delete() self.assertIsNone(StoreModel.find_store_by_id(1)) self.assertIsNone(StoreModel.find_store_by_name("amazon"))
def delete_store(_id): store = StoreModel.find_store_by_id(_id) if store: name = store.name store.delete_from_db() return message('The {} was deleted from database'.format(name), 200) return message("There is no store whose id is equal {}".format(_id), 400)
def update_store(_id): store = StoreModel.find_store_by_id(_id) if store: # The store already exists store.update_from_dict(g.data) store.update_to_db() return jsonify(store.to_dict()), 201 store.save_to_db() return jsonify(store.to_dict()), 200
def get_store(_id): store = StoreModel.find_store_by_id(_id) if store: return jsonify(store.to_dict()) return message("There is no store whose id is equal {}".format(_id), 400)