def test_invoice_creation(self): """ Verify the invoice object is created properly. """ order = factories.OrderFactory() business_client = BusinessClient.objects.create(name='Test client') invoice_data = { 'number': 'INV-001', 'type': Invoice.PREPAID, 'payment_date': datetime.datetime(2016, 1, 1, tzinfo=pytz.UTC).isoformat(), 'tax_deducted_source': 25, } self.processor_class(self.site).handle_processor_response( {}, order, business_client, invoice_data) invoice = Invoice.objects.latest() self.assertEqual(invoice.order, order) self.assertEqual(invoice.business_client, business_client) serialized_invoice = InvoiceSerializer(invoice).data for data in invoice_data: if data == 'payment_date': self.assertEqual(invoice.payment_date.isoformat(), invoice_data[data]) else: self.assertEqual(serialized_invoice[data], invoice_data[data])
def setUp(self): super(InvoiceTests, self).setUp() self.basket = factories.create_basket(empty=True) self.basket.owner = factories.UserFactory() self.basket.order = factories.OrderFactory() self.basket.save() self.invoice = Invoice.objects.create(order=self.basket.order, state='Paid')
def use_voucher(self, voucher, user): """ Mark voucher as used by provided user """ order = factories.OrderFactory() order_line = factories.OrderLineFactory(product=self.verified_seat) order.lines.add(order_line) voucher.record_usage(order, user) voucher.offers.first().record_usage(discount={'freq': 1, 'discount': 1})
def test_voucher_used_error_msg(self): """ Verify correct error message is returned when voucher has been used (Single use). """ self.mock_access_token_response() self.mock_account_api(self.request, self.user.username, data={'is_active': True}) voucher, product = prepare_voucher(code=COUPON_CODE) self.basket.add_product(product) order = factories.OrderFactory() VoucherApplication.objects.create(voucher=voucher, user=self.user, order=order) self.assert_form_valid_message( "Coupon code '{code}' is not available. This coupon has already been used".format(code=COUPON_CODE) )
def test_handle_processor_response(self): """ Verify the processor creates the appropriate PaymentEvent and Source objects. """ order = factories.OrderFactory() source, payment_event = self.processor_class().handle_processor_response({}, order) # Validate PaymentEvent self.assertEqual(payment_event.event_type.name, PaymentEventTypeName.PAID) # Validate PaymentSource self.assertEqual(source.source_type.name, self.processor.NAME)
def test_handle_processor_response(self): """ Verify the processor creates the appropriate PaymentEvent, Source and Invoice objects. """ order = factories.OrderFactory() business_client = BusinessClient.objects.create(name='Test client') source, payment_event = self.processor_class(self.site).handle_processor_response({}, order, business_client) # Validate PaymentEvent self.assertEqual(payment_event.event_type.name, PaymentEventTypeName.PAID) self.assertTrue(Invoice.objects.get(order=order, business_client=business_client)) # Validate PaymentSource self.assertEqual(source.source_type.name, self.processor.NAME)
def setUp(self): super(PopulateInvoiceOrdersCommandTests, self).setUp() self.order = factories.OrderFactory() self.basket = factories.BasketFactory() self.basket.owner = factories.UserFactory() self.basket.save()