예제 #1
0
    def test_upcoming_invoice_with_subscription_plan(
        self,
        product_retrieve_mock,
        invoice_upcoming_mock,
        subscription_retrieve_mock,
        plan_retrieve_mock,
        invoice_retrieve_mock,
        payment_intent_retrieve_mock,
        paymentmethod_card_retrieve_mock,
        charge_retrieve_mock,
        balance_transaction_retrieve_mock,
    ):
        # create invoice for latest_invoice in subscription to work.
        Invoice.sync_from_stripe_data(deepcopy(FAKE_INVOICE))

        invoice = Invoice.upcoming(subscription_plan=Plan(id=FAKE_PLAN["id"]))
        self.assertIsNotNone(invoice)
        self.assertIsNone(invoice.id)
        self.assertIsNone(invoice.save())

        subscription_retrieve_mock.assert_called_once_with(
            api_key=ANY,
            expand=ANY,
            id=FAKE_SUBSCRIPTION["id"],
            stripe_account=None)
        plan_retrieve_mock.assert_not_called()

        self.assertIsNotNone(invoice.plan)
        self.assertEqual(FAKE_PLAN["id"], invoice.plan.id)
예제 #2
0
    def test_upcoming_invoice_with_subscription_plan(self, invoice_upcoming_mock, subscription_retrieve_mock,
                                                     plan_retrieve_mock):
        invoice = Invoice.upcoming(subscription_plan=Plan(stripe_id=FAKE_PLAN["id"]))
        self.assertIsNotNone(invoice)
        self.assertIsNone(invoice.stripe_id)
        self.assertIsNone(invoice.save())

        subscription_retrieve_mock.assert_called_once_with(api_key=ANY, expand=ANY, id=FAKE_SUBSCRIPTION["id"])
        plan_retrieve_mock.assert_not_called()

        self.assertIsNotNone(invoice.plan)
        self.assertEqual(FAKE_PLAN["id"], invoice.plan.stripe_id)
예제 #3
0
    def test_upcoming_invoice_with_subscription_plan(self, invoice_upcoming_mock, subscription_retrieve_mock,
                                                     plan_retrieve_mock):
        invoice = Invoice.upcoming(subscription_plan=Plan(stripe_id=FAKE_PLAN["id"]))
        self.assertIsNotNone(invoice)
        self.assertIsNone(invoice.stripe_id)
        self.assertIsNone(invoice.save())

        subscription_retrieve_mock.assert_called_once_with(api_key=ANY, expand=ANY, id=FAKE_SUBSCRIPTION["id"])
        plan_retrieve_mock.assert_not_called()

        self.assertIsNotNone(invoice.plan)
        self.assertEqual(FAKE_PLAN["id"], invoice.plan.stripe_id)
예제 #4
0
 def test_upcoming_invoice_error(self, invoice_upcoming_mock):
     with self.assertRaises(InvalidRequestError):
         Invoice.upcoming()
예제 #5
0
 def test_no_upcoming_invoices(self, invoice_upcoming_mock):
     invoice = Invoice.upcoming()
     self.assertIsNone(invoice)
예제 #6
0
 def test_upcoming_invoice_error(self, invoice_upcoming_mock):
     with self.assertRaises(InvalidRequestError):
         Invoice.upcoming()
예제 #7
0
 def test_no_upcoming_invoices(self, invoice_upcoming_mock):
     invoice = Invoice.upcoming()
     self.assertIsNone(invoice)