def test_check_can_pay_not(): VatSettingsFactory() sales_ledger = SalesLedgerFactory() payment = sales_ledger.create_payment() payment.set_paid() with pytest.raises(PayError): payment.check_can_pay
def setUp(self): VatSettingsFactory() Notify.objects.create_notify('*****@*****.**') default_scenario_login() init_app_pay() self.web = get_user_web() self.assertTrue(self.client.login( username=self.web.username, password=TEST_PASSWORD, )) # create a payment stock = ProductType.objects.create_product_type('stock', 'Stock') stationery = ProductCategory.objects.create_product_category( 'stationery', 'Stationery', stock ) pencil = Product.objects.create_product( 'pencil', 'Pencil', '', Decimal('1.32'), stationery ) sales_ledger = SalesLedgerFactory( product=pencil, quantity=Decimal('2'), ) self.payment = sales_ledger.create_payment() self.payment.save() self.payment.url = reverse('pay.list') self.payment.url_failure = reverse('pay.list') self.payment.save()
def test_check_can_pay_too_late(): VatSettingsFactory() sales_ledger = SalesLedgerFactory() payment = sales_ledger.create_payment() payment.created = timezone.now() + relativedelta(hours=-1, minutes=-3) payment.save() with pytest.raises(PayError): payment.check_can_pay
def test_total(): VatSettingsFactory() sales_ledger = SalesLedgerFactory( product=ProductFactory(price=Decimal('2.50')), quantity=Decimal('2'), ) payment = sales_ledger.create_payment() assert Decimal('6.00') == payment.total
def test_check_can_pay_too_early(): """This should never happen... but test anyway.""" VatSettingsFactory() sales_ledger = SalesLedgerFactory() payment = sales_ledger.create_payment() payment.created = timezone.now() + relativedelta(hours=+1, minutes=+2) payment.save() with pytest.raises(PayError): payment.check_can_pay
def test_check_can_pay(): VatSettingsFactory() sales_ledger = SalesLedgerFactory() payment = sales_ledger.create_payment() try: payment.check_can_pay pass except PayError: assert False, 'payment is due - so can be paid'
def test_set_payment_failed(): VatSettingsFactory() sales_ledger = SalesLedgerFactory(title='Carol') assert not sales_ledger.is_paid payment = sales_ledger.create_payment() assert not payment.is_paid payment.set_payment_failed() # refresh payment = Payment.objects.get(pk=payment.pk) assert not payment.is_paid sales_ledger = SalesLedger.objects.get(title='Carol') assert not sales_ledger.is_paid assert PaymentState.FAIL == payment.state.slug
def test_set_paid(): VatSettingsFactory() sales_ledger = SalesLedgerFactory(title='Carol') assert not sales_ledger.is_paid payment = sales_ledger.create_payment() assert not payment.is_paid payment.set_paid() # refresh payment = Payment.objects.get(pk=payment.pk) assert payment.is_paid # refresh sales_ledger = SalesLedger.objects.get(title='Carol') assert sales_ledger.is_paid
def test_mail_template_context(): VatSettingsFactory() product = ProductFactory(name='Colour Pencils', price=Decimal('10.00')) sales_ledger = SalesLedgerFactory( email='*****@*****.**', title='Mr Patrick Kimber', product=product, ) payment = sales_ledger.create_payment() assert { '*****@*****.**': dict( description='Colour Pencils (£10.00 + £2.00 vat)', name='Mr Patrick Kimber', total='£12.00', ), } == payment.mail_template_context()
def test_make_payment(): VatSettingsFactory() sales_ledger = SalesLedgerFactory() sales_ledger.create_payment()
def test_unique_together(): VatSettingsFactory() sales_ledger = SalesLedgerFactory() sales_ledger.create_payment() with pytest.raises(IntegrityError): sales_ledger.create_payment()
def test_payment_line_str(): VatSettingsFactory() sales_ledger = SalesLedgerFactory() payment = sales_ledger.create_payment() payment_line = payment.paymentline_set.first() str(payment_line)