Esempio n. 1
0
    def post(self, request):
        ticket = TicketSerializer(
            data=request.data
        )

        if ticket.is_valid():
            return Response({'winner': ticket.winner()})

        return Response(
            ticket.errors, status=status.HTTP_400_BAD_REQUEST
        )
Esempio n. 2
0
def test_create(mock):
    bob = mock.patch('powerball_checker.serializers.BobGateway')
    bob.return_value.create.return_value = {
        'prize_code': '12312', 'ticket_code': '123123'}

    model_ticket = mock.patch('powerball_checker.serializers.Ticket')
    model_prize = mock.patch('powerball_checker.serializers.Prize')

    t = TicketSerializer(
        data={'ticket': '[1,2,4,5]', 'draw_date': '2015-1-15'}
    )

    assert t.is_valid()

    t.save()
    model_ticket.return_value.save.assert_called_with()
    model_prize.return_value.save.assert_called_with()
Esempio n. 3
0
def test_not_acess_bob(mock):
    bob = mock.patch('powerball_checker.serializers.BobGateway')
    model_ticket = mock.patch('powerball_checker.serializers.Ticket')

    object_ticket = mock.Mock()
    object_ticket.drawed.return_value = True
    object_ticket.winning = False
    model_ticket.objects.filter.return_value = [object_ticket]

    t = TicketSerializer(
        data={'ticket': '[1,2,4,5]', 'draw_date': '2015-1-15'}
    )

    assert t.is_valid()
    assert t.winner() is False

    bob.return_value.is_a_winner_ticket.assert_not_called()