Exemple #1
0
    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': []})
Exemple #2
0
    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
Exemple #3
0
 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