def test_crud(self): with self.app_context(): room = RoomModel(_id=1, company='Test Company', location='Test Location', name='Test Name', description='Some Test Description', rateofescape='10/10', image='test.jpg', duration='60 minutes', playedon='01/01/2018') self.assertIsNone(RoomModel.find_by_id(1)) room.save_to_db() self.assertIsNotNone( RoomModel.find_by_name_company('Test Name', 'Test Company')) self.assertIsNotNone(RoomModel.find_by_id(1)) self.assertIsNotNone(RoomModel.get_all_rooms()) room.delete_from_db() self.assertIsNone(RoomModel.find_by_id(1)) self.assertEqual(RoomModel.get_all_rooms(), {'rooms': []})
def post(self): data = RoomCreate.parser.parse_args() room = RoomModel.find_by_name_company(data['name'], data['company']) if room: return { 'message': "'{}' by '{}' already exists".format(data['name'], data['company']) }, 400 room = RoomModel(None, **data) room.save_to_db() return {'message': 'Room Created'}, 201
def delete(self, _id): claims = get_jwt_claims() if not claims['is_admin']: return {'message': 'Admin privilege required.'}, 401 parser = reqparse.RequestParser() parser.add_argument('company', type=str, required=True, help='You must enter company') parser.add_argument('name', type=str, required=True, help='You must enter a name') data = parser.parse_args() room = RoomModel.find_by_name_company(**data) if room: room.delete_from_db() return {'message': 'Room was deleted'} return { 'message': "No room found with id {}, name '{}' and company '{}'".format( _id, data['name'], data['company']) }, 400