コード例 #1
0
ファイル: views.py プロジェクト: pedro-amaral/onyo-challenges
 def is_a_winner(self, request, *args, **kwargs):
     """
     Given a ticket it requests to Bob to check if is a winner of the related lotto
     :param request: the client request object
     :param args: extra unnamed arguments
     :param kwargs: extra named arguments
     :return: boolean indicating if is a winner or a string with error message
     """
     if request.method == 'GET':
         bet_ticket = self.get_object()
         try:
             result = BobHelper.is_a_winner_ticket(bet_ticket.id, bet_ticket.lotto_id, bet_ticket.bet)
         except BobServiceLottoWithoutResult as error:
             result = str(error)
         return Response(data=result)
     return Response(status=status.HTTP_400_BAD_REQUEST)
コード例 #2
0
    def test__check_next_lotto__success(self, mock_get):
        mock_get.return_value = MagicMock(content=b'{"next": 1}')

        next_lotto_id = BobHelper.check_next_lotto()

        self.assertEqual(next_lotto_id, 1)
コード例 #3
0
    def test__is_a_winner_ticket__success_winner_ticket(self, mock_get):
        mock_get.return_value = MagicMock(content=b'{"matches": true}', status_code=200)

        is_a_winner = BobHelper.is_a_winner_ticket(1, 1, "1 2 3 4 5 6")

        self.assertTrue(is_a_winner)
コード例 #4
0
ファイル: views.py プロジェクト: pedro-amaral/onyo-challenges
 def perform_create(self, serializer: BetTicketSerializer):
     # Request to know the next lotto
     next_lotto_id = BobHelper.check_next_lotto()
     serializer.save(owner=self.request.user, lotto_id=next_lotto_id)