Ejemplo n.º 1
0
    def test_order_is_paid_in_multiple_payments(self, mock_api_call):
        mock_api_call.return_value = [
            make_payment({
                'variable_symbol': self.order1.variable_symbol,
                'amount': 150,
                'transaction_id': '7'
            }),
            make_payment({
                'variable_symbol': self.order1.variable_symbol,
                'amount': 50,
                'transaction_id': '79'
            }),
            make_payment({
                'variable_symbol': self.order2.variable_symbol,
                'amount': 30,
                'transaction_id': '80'
            }),
        ]

        utils.check_payments_status()

        order1 = models.Order.objects.get(pk=self.order1.pk)
        order2 = models.Order.objects.get(pk=self.order2.pk)

        self.assertEqual(order1.status, models.order.Order.PAID)
        self.assertEqual(order2.status, models.order.Order.PARTLY_PAID)
Ejemplo n.º 2
0
    def test_no_payments_available(self, mock_api_call):
        """ FioBank doesn't have any payments - no order status should be changed """
        utils.check_payments_status()

        order1 = models.Order.objects.get(pk=self.order1.pk)
        order2 = models.Order.objects.get(pk=self.order2.pk)

        self.assertEqual(mock_api_call.call_count, 1)
        self.assertEqual(order1.status, models.order.Order.AWAITING)
        self.assertEqual(order2.status, models.order.Order.AWAITING)
Ejemplo n.º 3
0
    def test_one_order_is_paid(self, mock_api_call):
        """ FioBank doesn't have a payment for order1 - order's status was changed """
        mock_api_call.return_value = [
            make_payment({'variable_symbol': self.order1.variable_symbol, 'amount': 200, 'transaction_id': '7'}),
        ]
        utils.check_payments_status()

        order1 = models.Order.objects.get(pk=self.order1.pk)
        order2 = models.Order.objects.get(pk=self.order2.pk)

        self.assertEqual(mock_api_call.call_count, 1)
        self.assertEqual(order1.status, models.order.PAID)
        self.assertEqual(order2.status, models.order.AWAITING)
Ejemplo n.º 4
0
    def test_all_orders_are_paid(self, mock_api_call):
        mock_api_call.return_value = [
            make_payment({'variable_symbol': self.order1.variable_symbol, 'amount': 200, 'transaction_id': '7'}),
            make_payment({'variable_symbol': self.order2.variable_symbol, 'amount': 200, 'transaction_id': '8'}),
        ]

        utils.check_payments_status()

        order1 = models.Order.objects.get(pk=self.order1.pk)
        order2 = models.Order.objects.get(pk=self.order2.pk)

        self.assertEqual(mock_api_call.call_count, 1)
        self.assertEqual(order1.status, models.order.PAID)
        self.assertEqual(order2.status, models.order.PAID)