You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.3 KiB

  1. ###################################################################################
  2. #
  3. # Copyright (c) 2017-2019 MuK IT GmbH.
  4. #
  5. # This file is part of MuK Utils
  6. # (see https://mukit.at).
  7. #
  8. # This program is free software: you can redistribute it and/or modify
  9. # it under the terms of the GNU Lesser General Public License as published by
  10. # the Free Software Foundation, either version 3 of the License, or
  11. # (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. # GNU Lesser General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU Lesser General Public License
  19. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. #
  21. ###################################################################################
  22. import os
  23. import base64
  24. import logging
  25. from odoo import exceptions
  26. from odoo.tests import common
  27. _path = os.path.dirname(os.path.dirname(__file__))
  28. _logger = logging.getLogger(__name__)
  29. class SearchParentTestCase(common.TransactionCase):
  30. def setUp(self):
  31. super(SearchParentTestCase, self).setUp()
  32. self.model = self.env['res.partner.category']
  33. def tearDown(self):
  34. super(SearchParentTestCase, self).tearDown()
  35. def _evaluate_parent_result(self, parents, records):
  36. for parent in parents:
  37. self.assertTrue(
  38. not parent.parent_id or
  39. parent.parent_id.id not in records.ids
  40. )
  41. def test_search_parents(self):
  42. records = self.model.search([])
  43. parents = self.model.search_parents([])
  44. self._evaluate_parent_result(parents, records)
  45. def test_search_parents_domain(self):
  46. records = self.model.search([('id', '!=', 1)])
  47. parents = self.model.search_parents([('id', '!=', 1)])
  48. self._evaluate_parent_result(parents, records)
  49. def test_search_read_parents(self):
  50. parents = self.model.search_parents([])
  51. read_names = parents.read(['name'])
  52. search_names = self.model.search_read_parents([], ['name'])
  53. self.assertTrue(read_names == search_names)