server-tools/iap_alternative_provider/tests/test_iap_account.py

54 lines
1.8 KiB
Python

# Copyright 2022 Moka Tourisme (https://www.mokatourisme.fr).
# @author Pierre Verkest <pierreverkest84@gmail.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from unittest import mock
from odoo.tests import TransactionCase
class IapAccountCase(TransactionCase):
def test_create_odoo_iap(self):
account = self.env["iap.account"].create(
{
"name": "Odoo IAP",
"provider": "odoo",
"service_name": "some-service",
}
)
self.assertEqual(account.service_name, "some-service")
def test_create_with_mock(self):
with mock.patch(
"odoo.addons.iap_alternative_provider.models."
"iap_account.IapAccount._get_service_from_provider",
return_value="other-service",
):
account = self.env["iap.account"].create(
{
"name": "Odoo IAP",
"provider": "odoo",
"service_name": "some-service",
}
)
self.assertEqual(account.service_name, "other-service")
def test_write_odoo_iap(self):
account = self.env["iap.account"].create(
{
"name": "Odoo IAP",
"provider": "odoo",
"service_name": "",
}
)
self.assertEqual(account.service_name, "")
account.write({"service_name": "some-service"})
self.assertEqual(account.service_name, "some-service")
with mock.patch(
"odoo.addons.iap_alternative_provider.models."
"iap_account.IapAccount._get_service_from_provider",
return_value="other-service",
):
account.write({"service_name": "some-service-2"})
self.assertEqual(account.service_name, "other-service")