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.

52 lines
1.8 KiB

  1. # Copyright 2015 ACSONE SA/NV (<http://acsone.eu>).
  2. # Copyright 2016 Tecnativa - Vicent Cubells
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
  4. import odoo.tests.common as common
  5. class TestBasePartnerSequence(common.TransactionCase):
  6. def setUp(self):
  7. super(TestBasePartnerSequence, self).setUp()
  8. self.res_partner = self.env["res.partner"]
  9. self.partner = self.res_partner.create(
  10. {"name": "test1", "email": "test@test.com"}
  11. )
  12. def test_ref_sequence_on_partner(self):
  13. # Test sequence on creating partner and copying it
  14. self.assertTrue(self.partner.ref, "A partner has always a ref.")
  15. copy = self.partner.copy()
  16. self.assertTrue(
  17. copy.ref, "A partner with ref created by copy " "has a ref by default."
  18. )
  19. def test_ref_sequence_on_contact(self):
  20. # Test if sequence doesn't increase on creating a contact child
  21. contact = self.res_partner.create(
  22. {
  23. "name": "contact1",
  24. "email": "contact@contact.com",
  25. "parent_id": self.partner.id,
  26. }
  27. )
  28. self.assertEqual(
  29. self.partner.ref,
  30. contact.ref,
  31. "All it's ok as sequence doesn't " "increase.",
  32. )
  33. def test_unique_ref_on_write(self):
  34. """Assert that create and write gives a different refs if we """
  35. vals = [
  36. {"name": "test1", "email": "test@test.com"},
  37. {"name": "test2", "email": "test@test.com"},
  38. ]
  39. partners = self.env["res.partner"].create(vals)
  40. self.assertFalse(partners[0].ref == partners[1].ref)
  41. partners.write({"ref": False})
  42. self.assertFalse(partners[0].ref)
  43. partners.write({})
  44. self.assertFalse(partners[0].ref == partners[1].ref)