def test_is_frozen_if_paid_internally(self): order = Order(**self.data) order.is_paid = True order.save() payment_method = PaymentMethod(name='Internal Test', is_internal=True) payment_method.save() pref = PaymentPreference(payment_method=payment_method, user=order.user, identifier='InternalTestIdentifier') pref.save() payment = Payment(payment_preference=pref, amount_cash=order.amount_cash, order=order, user=order.user, currency=order.currency) payment.save() order = Order.objects.last() # it's paid self.assertTrue(order.is_paid) # therefore it's frozen self.assertTrue(order.payment_status_frozen) # even though deadline is in the future self.assertTrue(order.payment_deadline >= timezone.now())
def test_not_frozen_if_paid(self): order = Order(**self.data) order.is_paid = True order.save() order = Order.objects.last() # it's paid self.assertTrue(order.is_paid) # therefore it's frozen self.assertFalse(order.payment_status_frozen) # even though deadline is in the future self.assertTrue(order.payment_deadline >= timezone.now())
def test_is_not_expired_if_paid(self): order = Order(**self.data) order.payment_window = 60 # expires after 1h order.is_paid = True order.save() order = Order.objects.last() order.created_on = timezone.now() - timedelta(minutes=120) # 2h ago # deadline is in the past self.assertTrue(timezone.now() > order.payment_deadline) # but already paid self.assertTrue(order.is_paid) # so it's not expired self.assertFalse(order.expired)