def test_advertiser_invoice_create(self): url = reverse("admin:adserver_advertiser_changelist") data = { "action": "action_create_draft_invoice", "_selected_action": [str(self.advertiser.pk)], } resp = self.client.post(url, data, follow=True) self.assertContains(resp, "Stripe is not configured") with override_settings( STRIPE_LIVE_SECRET_KEY="test-12345", STRIPE_ENABLED=True ): with mock.patch("stripe.InvoiceItem.create") as _, mock.patch( "stripe.Invoice.create" ) as invoice_create, mock.patch( "adserver.admin.Invoice.sync_from_stripe_data" ) as _2: # No Stripe ID for this advertiser resp = self.client.post(url, data, follow=True) self.assertContains(resp, "No Stripe customer ID") self.advertiser.djstripe_customer = self.stripe_customer self.advertiser.save() invoice_create.return_value = stripe.Invoice(id="inv_98765") resp = self.client.post(url, data, follow=True) self.assertContains(resp, "New Stripe invoice")
def test_pay_invoice_params(self): invoice = stripe.Invoice(id="ii_pay") invoice.pay(source="src_foo") self.requestor_mock.request.assert_called_with( 'post', '/v1/invoices/ii_pay/pay', { 'source': 'src_foo', }, None)
def test_pay_invoice(self): invoice = stripe.Invoice(id="ii_pay") invoice.pay() self.requestor_mock.request.assert_called_with( 'post', '/v1/invoices/ii_pay/pay', {}, )
def test_flight_invoice_create(self): advertiser2 = get(Advertiser) campaign2 = get(Campaign, advertiser=advertiser2) flight2 = get( Flight, live=True, campaign=campaign2, sold_impressions=10000, cpm=2.2, start_date=self.flight.start_date, end_date=self.flight.end_date, targeting_parameters={}, ) flight3 = get( Flight, live=True, campaign=campaign2, sold_impressions=0, cpm=0, start_date=self.flight.start_date, end_date=self.flight.end_date, targeting_parameters={}, ) url = reverse("admin:adserver_flight_changelist") data = { "action": "action_create_draft_invoice", "_selected_action": [self.flight.pk, flight2.pk, flight3.pk], } resp = self.client.post(url, data, follow=True) self.assertContains(resp, "Stripe is not configured") with override_settings(STRIPE_SECRET_KEY="test-12345"): with mock.patch("stripe.InvoiceItem.create") as _: with mock.patch("stripe.Invoice.create") as invoice_create: resp = self.client.post(url, data, follow=True) self.assertContains( resp, "All selected flights must be from a single advertiser" ) campaign2.advertiser = self.advertiser campaign2.save() # No Stripe ID for this advertiser resp = self.client.post(url, data, follow=True) self.assertContains(resp, "No Stripe customer ID") self.advertiser.stripe_customer_id = "cus_1234567890" self.advertiser.save() invoice_create.return_value = stripe.Invoice( id="inv_98765") resp = self.client.post(url, data, follow=True) self.assertContains(resp, "New Stripe invoice")
def test_pay_invoice(self): self.mock_response({ 'id': 'ii_pay', 'paid': True, }) invoice = stripe.Invoice(id="ii_pay") self.assertTrue(invoice is invoice.pay(idempotency_key='idem-foo')) self.assertEquals(True, invoice.paid) self.assertEquals('ii_pay', invoice.id) self.requestor_mock.request.assert_called_with( 'post', '/v1/invoices/ii_pay/pay', {}, {'Idempotency-Key': 'idem-foo'})
def test_pay_invoice_params(self): self.mock_response({ 'id': 'ii_pay', 'paid': True, }) invoice = stripe.Invoice(id="ii_pay") self.assertTrue(invoice is invoice.pay(source="src_foo")) self.assertEquals(True, invoice.paid) self.assertEquals('ii_pay', invoice.id) self.requestor_mock.request.assert_called_with( 'post', '/v1/invoices/ii_pay/pay', { 'source': 'src_foo', }, None)