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)
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)
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)
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)