1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/account_avatax/tests/test_avatax_unique_code.py
2024-12-10 09:04:09 +07:00

62 lines
2.6 KiB
Python

from odoo.tests.common import tagged
from .common import TestAccountAvataxCommon
from odoo.exceptions import UserError
@tagged("-at_install", "post_install")
class TestAvataxUniqueCode(TestAccountAvataxCommon):
@classmethod
def setUpClass(cls, chart_template_ref=None):
res = super().setUpClass(chart_template_ref)
cls.partner_1 = cls.env["res.partner"].create({"name": "partner bob"})
cls.partner_2 = cls.env["res.partner"].create({"name": "partner alice"})
return res
def _search_equal_and_return(self, term):
return self.env["res.partner"].search([("avatax_unique_code", "=", term)])
def _search_not_equal_and_return(self, term):
return self.env["res.partner"].search([("avatax_unique_code", "!=", term)])
def test_search_equal(self):
self.assertEqual(
self._search_equal_and_return(str(self.partner_1.id)),
self.partner_1
)
self.assertFalse(self._search_equal_and_return(f" Contact {str(self.partner_1.id)}"))
not_equal = self._search_not_equal_and_return(f"Contact {str(self.partner_1.id)}")
self.assertFalse(self.partner_1 in not_equal)
self.assertTrue(self.partner_2 in not_equal)
self.assertFalse(self._search_equal_and_return("Contact"))
self.assertFalse(self._search_equal_and_return(f"{str(self.partner_1.id)} {str(self.partner_1.id)}"))
def _search_ilike_and_return(self, term):
return self.env["res.partner"].search([("avatax_unique_code", "ilike", term)])
def _search_not_ilike_and_return(self, term):
return self.env["res.partner"].search(["!", ("avatax_unique_code", "ilike", term)])
def test_search_like(self):
self.assertEqual(
self._search_ilike_and_return(str(self.partner_1.id)),
self.partner_1
)
self.assertEqual(
self._search_ilike_and_return(f"Contact {str(self.partner_1.id)}"),
self.partner_1
)
not_like = self._search_not_ilike_and_return(f"Contact {str(self.partner_1.id)}")
self.assertFalse(self.partner_1 in not_like)
self.assertTrue(self.partner_2 in not_like)
self.assertFalse(self._search_ilike_and_return("Contact"))
self.assertFalse(self._search_ilike_and_return(f"{str(self.partner_1.id)} {str(self.partner_1.id)}"))
def test_search_set(self):
self.assertRaises(UserError, self.env["res.partner"].search, [("avatax_unique_code", "=", True)])
self.assertRaises(UserError, self.env["res.partner"].search, [("avatax_unique_code", "=", False)])