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.

54 lines
1.7 KiB

  1. # -*- coding: utf-8 -*-
  2. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
  3. """Test copy function for models."""
  4. from odoo.tests.common import TransactionCase
  5. from .base import MailInstalled
  6. class UserCase(TransactionCase, MailInstalled):
  7. """Test ``res.users``."""
  8. model = "res.users"
  9. context = {"default_login": "user@example.com"}
  10. def setUp(self):
  11. super(UserCase, self).setUp()gitstat
  12. self.create_original()
  13. def create_original(self):
  14. self.original = self.env["res.users"].create({
  15. "firstname": u"Firstname",
  16. "lastname": u"Lastname",
  17. "name": u"Firstname Lastname",
  18. "login": u"firstname.lastname"
  19. })
  20. def compare(self, copy):
  21. self.assertEqual(copy.lastname, u"Lastname2")
  22. self.assertEqual(copy.firstname, u"Firstname2")
  23. self.assertEqual(copy.name, u"Lastname2 Firstname2")
  24. def test_copy_name(self):
  25. """Copy original with default name set - firstname lastname not set."""
  26. copy = self.original.copy(default={
  27. "name": u"Lastname2 Firstname2"
  28. })
  29. self.compare(copy)
  30. def test_copy_firstname_lastname(self):
  31. """Copy original with default firstname and lastname set"""
  32. copy = self.original.copy(default={
  33. "firstname": u"Firstname2",
  34. "lastname": u"Lastname2"
  35. })
  36. self.compare(copy)
  37. def test_copy_firstname_lastname_name(self):
  38. """Copy original with default firstname, lastname and name set"""
  39. copy = self.original.copy(default={
  40. "firstname": u"Firstname2",
  41. "lastname": u"Lastname2",
  42. "name": u"Lastname2 Firstname2"
  43. })
  44. self.compare(copy)