def assert_status(invoice_status, expected_status):
     invoice.status = invoice_status
     json_data = invoice_adapter(invoice, self.dummy_request)
     self.assertEqual(json_data['status'], expected_status)
Example #2
0
 def assert_status(invoice_status, expected_status):
     invoice.status = invoice_status
     json_data = invoice_adapter(invoice, self.dummy_request)
     self.assertEqual(json_data['status'], expected_status)
    def test_invoice(self):
        invoice = self.customer_invoice
        json_data = invoice_adapter(invoice, self.dummy_request)
        expected = dict(
            guid=invoice.guid,
            invoice_type='customer',
            transaction_type='debit',
            status='staged',
            created_at=invoice.created_at.isoformat(),
            updated_at=invoice.updated_at.isoformat(),
            customer_guid=invoice.customer_guid,
            amount=invoice.amount,
            effective_amount=invoice.effective_amount,
            total_adjustment_amount=invoice.total_adjustment_amount,
            title=invoice.title,
            external_id=invoice.external_id,
            funding_instrument_uri=None,
            appears_on_statement_as='hello baby',
            items=[
                dict(type='debit',
                     name='foo',
                     amount=123,
                     quantity=None,
                     volume=5678,
                     unit=None),
                dict(type=None,
                     name='bar',
                     amount=456,
                     quantity=10,
                     volume=7788,
                     unit='hours'),
            ],
            adjustments=[
                dict(amount=20, reason='A Lannister always pays his debts!'),
                dict(amount=3, reason=None),
            ],
        )
        self.assertEqual(json_data, expected)

        def assert_status(invoice_status, expected_status):
            invoice.status = invoice_status
            json_data = invoice_adapter(invoice, self.dummy_request)
            self.assertEqual(json_data['status'], expected_status)

        assert_status(self.invoice_model.statuses.STAGED, 'staged')
        assert_status(self.invoice_model.statuses.PROCESSING, 'processing')
        assert_status(self.invoice_model.statuses.SETTLED, 'settled')
        assert_status(self.invoice_model.statuses.CANCELED, 'canceled')
        assert_status(self.invoice_model.statuses.FAILED, 'failed')

        invoice = self.subscription_invoice
        json_data = invoice_adapter(invoice, self.dummy_request)
        expected = dict(
            guid=invoice.guid,
            invoice_type='subscription',
            transaction_type='debit',
            status='staged',
            created_at=invoice.created_at.isoformat(),
            updated_at=invoice.updated_at.isoformat(),
            scheduled_at=invoice.scheduled_at.isoformat(),
            subscription_guid=invoice.subscription_guid,
            amount=invoice.amount,
            effective_amount=invoice.effective_amount,
            total_adjustment_amount=invoice.total_adjustment_amount,
            title=invoice.title,
            funding_instrument_uri=None,
            appears_on_statement_as='hello baby',
            items=[
                dict(type='debit',
                     name='foo',
                     amount=123,
                     quantity=None,
                     volume=5678,
                     unit=None),
                dict(type=None,
                     name='bar',
                     amount=456,
                     quantity=10,
                     volume=7788,
                     unit='hours'),
            ],
            adjustments=[
                dict(amount=20, reason='A Lannister always pays his debts!'),
                dict(amount=3, reason=None),
            ],
        )
        self.assertEqual(json_data, expected)
Example #4
0
    def test_invoice(self):
        invoice = self.customer_invoice
        json_data = invoice_adapter(invoice, self.dummy_request)
        expected = dict(
            guid=invoice.guid,
            invoice_type='customer',
            transaction_type='debit',
            status='staged',
            created_at=invoice.created_at.isoformat(),
            updated_at=invoice.updated_at.isoformat(),
            customer_guid=invoice.customer_guid,
            amount=invoice.amount,
            effective_amount=invoice.effective_amount,
            total_adjustment_amount=invoice.total_adjustment_amount,
            title=invoice.title,
            external_id=invoice.external_id,
            funding_instrument_uri=None,
            appears_on_statement_as='hello baby',
            items=[
                dict(type='debit', name='foo', amount=123, quantity=None,
                     volume=5678, unit=None),
                dict(type=None, name='bar', amount=456, quantity=10,
                     volume=7788, unit='hours'),
            ],
            adjustments=[
                dict(amount=20, reason='A Lannister always pays his debts!'),
                dict(amount=3, reason=None),
            ],
        )
        self.assertEqual(json_data, expected)

        def assert_status(invoice_status, expected_status):
            invoice.status = invoice_status
            json_data = invoice_adapter(invoice, self.dummy_request)
            self.assertEqual(json_data['status'], expected_status)

        assert_status(self.invoice_model.statuses.STAGED, 'staged')
        assert_status(self.invoice_model.statuses.PROCESSING, 'processing')
        assert_status(self.invoice_model.statuses.SETTLED, 'settled')
        assert_status(self.invoice_model.statuses.CANCELED, 'canceled')
        assert_status(self.invoice_model.statuses.FAILED, 'failed')

        invoice = self.subscription_invoice
        json_data = invoice_adapter(invoice, self.dummy_request)
        expected = dict(
            guid=invoice.guid,
            invoice_type='subscription',
            transaction_type='debit',
            status='staged',
            created_at=invoice.created_at.isoformat(),
            updated_at=invoice.updated_at.isoformat(),
            scheduled_at=invoice.scheduled_at.isoformat(),
            subscription_guid=invoice.subscription_guid,
            amount=invoice.amount,
            effective_amount=invoice.effective_amount,
            total_adjustment_amount=invoice.total_adjustment_amount,
            title=invoice.title,
            funding_instrument_uri=None,
            appears_on_statement_as='hello baby',
            items=[
                dict(type='debit', name='foo', amount=123, quantity=None,
                     volume=5678, unit=None),
                dict(type=None, name='bar', amount=456, quantity=10,
                     volume=7788, unit='hours'),
            ],
            adjustments=[
                dict(amount=20, reason='A Lannister always pays his debts!'),
                dict(amount=3, reason=None),
            ],
        )
        self.assertEqual(json_data, expected)