33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from unittest.mock import patch
|
|
|
|
from odoo.tests import tagged
|
|
|
|
from odoo.addons.payment.tests.http_common import PaymentHttpCommon
|
|
from odoo.addons.payment_sepa_direct_debit.tests.common import SepaDirectDebitCommon
|
|
|
|
|
|
@tagged('post_install', '-at_install')
|
|
class TestSepaDirectDebitMain(SepaDirectDebitCommon, PaymentHttpCommon):
|
|
|
|
def test_sdd_set_mandate_updates_tx(self):
|
|
tx = self._create_transaction(flow='direct', provider_code='custom')
|
|
url = self._build_url('/payment/sepa_direct_debit/set_mandate')
|
|
with patch(
|
|
'odoo.addons.payment.utils.check_access_token', return_value=True
|
|
), patch(
|
|
'odoo.addons.payment_sepa_direct_debit.controllers.main.SepaDirectDebitController'
|
|
'._sdd_validate_and_format_iban', return_value='test_iban'
|
|
), patch(
|
|
'odoo.addons.payment_sepa_direct_debit.models.payment_provider.PaymentProvider'
|
|
'._sdd_find_or_create_mandate', return_value=self.mandate
|
|
):
|
|
self.make_jsonrpc_request(url, params=dict(
|
|
reference=tx.reference,
|
|
iban='test_iban',
|
|
access_token='test_access_token',
|
|
))
|
|
self.assertTrue(tx.mandate_id)
|
|
self.assertEqual(tx.state, 'pending')
|