def delete(self, request, *args, **kwargs): permissions = PermissionsService.get_ticket_permissions( ticket_id=kwargs['id'], user_id=request.user.id) if not permissions.can_delete: raise PermissionDeniedException TicketService.delete_ticket(ticket_id=kwargs['id']) return Response(status=204)
def post(self, request, *args, **kwargs): serializer = CreateTicketSerializer(data=request.data) serializer.is_valid(raise_exception=True) TicketService.create_ticket_from_github_issue( **serializer.validated_data) return Response(status=201)
def test_create_ticket(self): category = CategoryFactory() ticket = TicketService.create_ticket(category.id) self.assertEqual(ticket.category.id, category.id) self.assertIsNone(ticket.title) self.assertIsNone(ticket.body) self.assertIsNone(ticket.due_date)
def test_update_ticket(self): ticket = TicketFactory() data = { 'title': 'Hey, I`m a Ticket', 'body': 'Hey, I`m a Ticket`s body', 'due_date': datetime(2020, 12, 12), } updated_ticket = TicketService.update_ticket(ticket.id, data) self.assertEqual(updated_ticket.id, ticket.id) self.assertEqual(updated_ticket.category_id, ticket.category_id) self.assertEqual(updated_ticket.title, data['title']) self.assertEqual(updated_ticket.body, data['body']) self.assertEqual(updated_ticket.due_date, data['due_date'])
def patch(self, request, *args, **kwargs): serializer = UpdateTicketSerializer(data=request.data) serializer.is_valid(raise_exception=True) permissions = PermissionsService.get_ticket_permissions( ticket_id=kwargs['id'], user_id=request.user.id) if not permissions.can_mutate: raise PermissionDeniedException ticket = TicketService.update_ticket( ticket_id=kwargs['id'], validated_data=serializer.validated_data) response_serializer = UpdateTicketResponseSerializer(instance=ticket) return Response( status=200, data=response_serializer.data, )
def post(self, request, *args, **kwargs): serializer = CreateTicketSerializer(data=request.data) serializer.is_valid(raise_exception=True) permissions = PermissionsService.get_category_permissions( category_id=serializer.validated_data['category_id'], user_id=request.user.id, ) if not permissions.can_mutate: raise PermissionDeniedException ticket = TicketService.create_ticket(**serializer.validated_data) response_serializer = CreateTicketResponseSerializer(instance=ticket) return Response( status=201, data=response_serializer.data, )
def __init__(self, get_response): """ :param get_response: """ self.get_response = get_response self.initOk = False storagePath = os.path.abspath( os.path.dirname(__file__) + "/../media/") + "/" self.__dbConn = MongoConnection() self.__userService = UserService(self.__dbConn) self.__ticketService = TicketService(self.__dbConn, "http://localhost:9000/images/", storagePath) self.initOk = True
def test_update_ticket_ticket_not_found(self): with self.assertRaises(TicketNotFoundException): _ = TicketService.update_ticket(-1, {})
def test_create_ticket_category_not_found(self): with self.assertRaises(CategoryNotFoundException): _ = TicketService.create_ticket(-1)