Files
suite/payment_forte/tests/test_forte.py

46 lines
1.9 KiB
Python

from odoo.addons.payment.tests.common import PaymentAcquirerCommon
from odoo.exceptions import ValidationError
class ForteCommon(PaymentAcquirerCommon):
def setUp(self):
super(ForteCommon, self).setUp()
self.currency_usd = self.env['res.currency'].search([('name', '=', 'USD')], limit=1)[0]
self.forte = self.env.ref('payment.payment_acquirer_forte')
self.method = self.env['account.payment.method'].search([('code', '=', 'electronic')], limit=1)[0]
self.journal = self.env['account.journal'].search([], limit=1)[0]
class ForteACH(ForteCommon):
def test_10_forte_api(self):
self.assertEqual(self.forte.environment, 'test', 'Must test with test environment.')
response = self.forte.forte_test_credentials()
# Create/Save a Payment Token.
# Change Token numbers to real values if you want to try to get an approval.
token = self.env['payment.token'].create({
'partner_id': self.buyer_id,
'acquirer_id': self.forte.id,
'acquirer_ref': 'Test Token',
'forte_account_type': 'Checking',
'forte_routing_number': '021000021',
'forte_account_number': '000111222',
'forte_account_holder': self.buyer.name,
})
# Create Payment
try:
payment = self.env['account.payment'].create({
'payment_type': 'inbound',
'journal_id': self.journal.id,
'partner_id': self.buyer_id,
'payment_token_id': token.id,
'payment_method_id': self.method.id,
'amount': 22.00,
})
self.assertEqual(payment.payment_transaction_id.amount, 22.00)
self.assertTrue(payment.payment_transaction_id.acquirer_reference)
except ValidationError as e:
self.assertTrue(e.name.find('U02') >= 0)