def test_transaction(self):
        transaction = self.transaction
        serialized_failures = [
            transaction_failure_adapter(f, self.dummy_request)
            for f in transaction.failures
        ]

        json_data = transaction_adapter(transaction, self.dummy_request)
        self.maxDiff = None
        expected = dict(
            guid=transaction.guid,
            transaction_type='debit',
            submit_status='staged',
            status=None,
            amount=transaction.amount,
            funding_instrument_uri=transaction.funding_instrument_uri,
            processor_uri=transaction.processor_uri,
            appears_on_statement_as=transaction.appears_on_statement_as,
            failure_count=transaction.failure_count,
            created_at=transaction.created_at.isoformat(),
            updated_at=transaction.updated_at.isoformat(),
            invoice_guid=transaction.invoice_guid,
            failures=serialized_failures,
        )
        self.assertEqual(json_data, expected)

        def assert_type(transaction_type, expected_type):
            transaction.transaction_type = transaction_type
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['transaction_type'], expected_type)

        assert_type(self.transaction_model.types.DEBIT, 'debit')
        assert_type(self.transaction_model.types.CREDIT, 'credit')
        assert_type(self.transaction_model.types.REFUND, 'refund')

        def assert_submit_status(status, expected_status):
            transaction.submit_status = status
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['submit_status'], expected_status)

        assert_submit_status(self.transaction_model.submit_statuses.STAGED,
                             'staged')
        assert_submit_status(self.transaction_model.submit_statuses.RETRYING,
                             'retrying')
        assert_submit_status(self.transaction_model.submit_statuses.FAILED,
                             'failed')
        assert_submit_status(self.transaction_model.submit_statuses.DONE,
                             'done')
        assert_submit_status(self.transaction_model.submit_statuses.CANCELED,
                             'canceled')

        def assert_status(status, expected_status):
            transaction.status = status
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['status'], expected_status)

        assert_status(self.transaction_model.statuses.PENDING, 'pending')
        assert_status(self.transaction_model.statuses.SUCCEEDED, 'succeeded')
        assert_status(self.transaction_model.statuses.FAILED, 'failed')
Beispiel #2
0
    def test_transaction(self):
        transaction = self.transaction
        serialized_failures = [
            transaction_failure_adapter(f, self.dummy_request)
            for f in transaction.failures
        ]

        json_data = transaction_adapter(transaction, self.dummy_request)
        self.maxDiff = None
        expected = dict(
            guid=transaction.guid,
            transaction_type='debit',
            submit_status='staged',
            status=None,
            amount=transaction.amount,
            funding_instrument_uri=transaction.funding_instrument_uri,
            processor_uri=transaction.processor_uri,
            appears_on_statement_as=transaction.appears_on_statement_as,
            failure_count=transaction.failure_count,
            created_at=transaction.created_at.isoformat(),
            updated_at=transaction.updated_at.isoformat(),
            invoice_guid=transaction.invoice_guid,
            failures=serialized_failures,
        )
        self.assertEqual(json_data, expected)

        def assert_type(transaction_type, expected_type):
            transaction.transaction_type = transaction_type
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['transaction_type'], expected_type)

        assert_type(self.transaction_model.types.DEBIT, 'debit')
        assert_type(self.transaction_model.types.CREDIT, 'credit')
        assert_type(self.transaction_model.types.REFUND, 'refund')

        def assert_submit_status(status, expected_status):
            transaction.submit_status = status
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['submit_status'], expected_status)

        assert_submit_status(self.transaction_model.submit_statuses.STAGED, 'staged')
        assert_submit_status(self.transaction_model.submit_statuses.RETRYING, 'retrying')
        assert_submit_status(self.transaction_model.submit_statuses.FAILED, 'failed')
        assert_submit_status(self.transaction_model.submit_statuses.DONE, 'done')
        assert_submit_status(self.transaction_model.submit_statuses.CANCELED, 'canceled')

        def assert_status(status, expected_status):
            transaction.status = status
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['status'], expected_status)

        assert_status(self.transaction_model.statuses.PENDING, 'pending')
        assert_status(self.transaction_model.statuses.SUCCEEDED, 'succeeded')
        assert_status(self.transaction_model.statuses.FAILED, 'failed')
Beispiel #3
0
 def test_transaction_failure(self):
     transaction_failure = self.transaction_failure1
     json_data = transaction_failure_adapter(transaction_failure, self.dummy_request)
     expected = dict(
         guid=transaction_failure.guid,
         error_message=transaction_failure.error_message,
         error_code=transaction_failure.error_code,
         error_number=transaction_failure.error_number,
         created_at=transaction_failure.created_at.isoformat(),
     )
     self.assertEqual(json_data, expected)
 def test_transaction_failure(self):
     transaction_failure = self.transaction_failure1
     json_data = transaction_failure_adapter(transaction_failure,
                                             self.dummy_request)
     expected = dict(
         guid=transaction_failure.guid,
         error_message=transaction_failure.error_message,
         error_code=transaction_failure.error_code,
         error_number=transaction_failure.error_number,
         created_at=transaction_failure.created_at.isoformat(),
     )
     self.assertEqual(json_data, expected)
    def test_transaction(self):
        transaction = self.transaction
        serialized_failures = [
            transaction_failure_adapter(f, self.dummy_request)
            for f in transaction.failures
        ]

        json_data = transaction_adapter(transaction, self.dummy_request)
        self.maxDiff = None
        expected = dict(
            guid=transaction.guid,
            transaction_type='charge',
            status='init',
            amount=transaction.amount,
            funding_instrument_uri=transaction.funding_instrument_uri,
            processor_uri=transaction.processor_uri,
            appears_on_statement_as=transaction.appears_on_statement_as,
            failure_count=transaction.failure_count,
            created_at=transaction.created_at.isoformat(),
            updated_at=transaction.updated_at.isoformat(),
            invoice_guid=transaction.invoice_guid,
            failures=serialized_failures,
        )
        self.assertEqual(json_data, expected)

        def assert_type(transaction_type, expected_type):
            transaction.transaction_type = transaction_type
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['transaction_type'], expected_type)

        assert_type(self.transaction_model.TYPE_CHARGE, 'charge')
        assert_type(self.transaction_model.TYPE_PAYOUT, 'payout')
        assert_type(self.transaction_model.TYPE_REFUND, 'refund')

        def assert_status(transaction_status, expected_status):
            transaction.status = transaction_status
            json_data = transaction_adapter(transaction, self.dummy_request)
            self.assertEqual(json_data['status'], expected_status)

        assert_status(self.transaction_model.STATUS_INIT, 'init')
        assert_status(self.transaction_model.STATUS_RETRYING, 'retrying')
        assert_status(self.transaction_model.STATUS_FAILED, 'failed')
        assert_status(self.transaction_model.STATUS_DONE, 'done')
        assert_status(self.transaction_model.STATUS_CANCELED, 'canceled')