forked from Mapan/odoo17e
62 lines
2.6 KiB
Python
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)])
|