Beispiel #1
0
 def test_get_right(self):
     rep = TicketRepository()
     ticket_id = rep.create(seance_id='5bd897f8af13c78fe908cb98', seat_number=1)
     ticket1 = rep.get(ticket_id)
     ticket2 = Ticket(ticket_id=fields.ObjectId(ticket_id), seance_id='5bd897f8af13c78fe908cb98', seat_number=1)
     self.assertEqual(ticket1, ticket2)
     rep.delete(ticket_id)
Beispiel #2
0
 def test_create(self):
     rep = TicketRepository()
     id1 = rep.create('5bd897f8af13c78fe908cb98', 2)
     id2 = rep.create('5bd897f8af13c78fe908cb98', 2)
     self.assertNotEqual(id1, id2)
     rep.delete(id1)
     rep.delete(id2)
Beispiel #3
0
 def delete(self, ticket_id):
     repo = TicketRepository()
     app.logger.info(
         'Получен запрос на удаление билета с идентификатором %s' %
         ticket_id)
     abort_if_seance_doesnt_exist(ticket_id, repo)
     repo.delete(ticket_id)
     response = app.make_response("Ticket %s deleted successfully" %
                                  ticket_id)
     response.status_code = 204
     app.logger.info('Билет с идентификатором %s успешно удален' %
                     ticket_id)
     return response
Beispiel #4
0
 def get(self, ticket_id):
     repo = TicketRepository()
     app.logger.info(
         'Получен запрос на получение информации о билете с идентификатором %s'
         % ticket_id)
     abort_if_seance_doesnt_exist(ticket_id, repo)
     ticket = repo.get(ticket_id)
     response = app.make_response("")
     response.status_code = 200
     response.content_type = "application/json"
     response.data = ticket.to_json()
     app.logger.info(
         'Запрос на получение информации о билете с идентификатором %s успешно обработан'
         % ticket_id)
     return response
Beispiel #5
0
 def post(self):
     repo = TicketRepository()
     app.logger.info('Получен запрос на создание (покупку) билета')
     try:
         payload = jsonpickle.decode(flask.request.data)
     except:
         payload = {
             "seance_id": "5bd897f8af13c78fe908cb98",
             "seat_number": 1
         }
     ticket_id = repo.create(payload["seance_id"], payload["seat_number"])
     ticket = repo.get(ticket_id)
     response = app.make_response("")
     response.content_type = "application/json"
     response.status_code = 201
     response.data = ticket.to_json()
     app.logger.info('Бмлет с идентификатором %s успешно создан (куплен)' %
                     ticket_id)
     return response
Beispiel #6
0
 def get(self):
     repo = TicketRepository()
     app.logger.info('Получен запрос на получение списка билетов')
     try:
         args = self.parser.parse_args(strict=True)
     except:
         args = {'page': 1, 'page_size': 5}
     app.logger.info(
         'Номер страницы: %d; количество билетов на странице: %d' %
         (args['page'], args['page_size']))
     ticket_list, is_prev_page, is_next_page = repo.read_paginated(
         page_number=args['page'], page_size=args['page_size'])
     tickets = ''
     for ticket in ticket_list:
         tickets += ticket.to_json() + '\n'
     dictr = {"is_prev_page": is_prev_page, "is_next_page": is_next_page}
     tickets += "\n" + json.dumps(dictr)
     response = app.make_response("")
     response.content_type = "application/json"
     response.status_code = 200
     response.data = tickets
     app.logger.info('Запрос на получение списка билетов успешно обработан')
     return response
Beispiel #7
0
 def test_exists_false(self):
     rep = TicketRepository()
     boolean = rep.exists('5bd8ad1daf')
     self.assertFalse(boolean)
Beispiel #8
0
 def test_exists_true(self):
     rep = TicketRepository()
     ticket_id = rep.create(seance_id='5bd897f8af13c78fe908cb98', seat_number=1)
     boolean = rep.exists(ticket_id)
     self.assertTrue(boolean)
     rep.delete(ticket_id)
Beispiel #9
0
 def test_delete_existed(self):
     rep = TicketRepository()
     id1 = rep.create('5bd897f8af13c78fe908cb98', 2)
     rep.delete(id1)
     self.assertFalse(rep.exists(id1))
Beispiel #10
0
 def test_read_paginated(self):
     rep = TicketRepository()
     tickets = rep.read_paginated(1, 5)
     self.assertLessEqual(len(tickets), 5)
Beispiel #11
0
 def test_get_error(self):
     rep = TicketRepository()
     ticket = rep.get('5bd89fd9')
     self.assertIsNone(ticket)