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.

96 lines
5.1 KiB

  1. # -*- coding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # Authors: Nemry Jonathan
  5. # Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu)
  6. # All Rights Reserved
  7. #
  8. # WARNING: This program as such is intended to be used by professional
  9. # programmers who take the whole responsibility of assessing all potential
  10. # consequences resulting from its eventual inadequacies and bugs.
  11. # End users who are looking for a ready-to-use solution with commercial
  12. # guarantees and support are strongly advised to contact a Free Software
  13. # Service Company.
  14. #
  15. # This program is Free Software; you can redistribute it and/or
  16. # modify it under the terms of the GNU General Public License
  17. # as published by the Free Software Foundation; either version 2
  18. # of the License, or (at your option) any later version.
  19. #
  20. # This program is distributed in the hope that it will be useful,
  21. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  22. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  23. # GNU General Public License for more details.
  24. #
  25. # You should have received a copy of the GNU General Public License
  26. # along with this program; if not, write to the Free Software
  27. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  28. #
  29. ##############################################################################
  30. import openerp.tests.common as common
  31. ADMIN_USER_ID = common.ADMIN_USER_ID
  32. class test_partner_firstname(common.TransactionCase):
  33. def setUp(self):
  34. super(test_partner_firstname, self).setUp()
  35. self.registry('ir.model').clear_caches()
  36. self.registry('ir.model.data').clear_caches()
  37. self.user_model = self.registry("res.users")
  38. self.partner_model = self.registry("res.partner")
  39. self.dict_partner = {'lastname': 'lastname', 'firstname': 'firstname'}
  40. self.dict_user = {'name': 'lastname', 'login': 'v5Ue4Tql0Pm67KX05g25A'}
  41. def test_copy_partner(self):
  42. cr, uid = self.cr, ADMIN_USER_ID
  43. res_id = self.partner_model.create(cr, uid, self.dict_partner, context={})
  44. res_id = self.partner_model.copy(cr, uid, res_id, default={}, context={})
  45. vals = self.partner_model.read(cr, uid, [res_id], ['name', 'lastname', 'firstname'], context={})[0]
  46. self.assertEqual(vals['name'] == "lastname (copy) firstname" and
  47. vals['lastname'] == 'lastname (copy)' and
  48. vals['firstname'] == 'firstname', True, 'Copy of the partner failed with wrong values')
  49. def test_copy_user(self):
  50. cr, uid = self.cr, ADMIN_USER_ID
  51. # create a user
  52. res_id = self.user_model.create(cr, uid, self.dict_user, context={})
  53. # get the related partner id and add it a firstname
  54. dict = self.user_model.read(cr, uid, [res_id], ['partner_id'], context={})[0]
  55. self.partner_model.write(cr, uid, dict['partner_id'][0], {'firstname':'firstname'}, context={})
  56. # copy the user and compare result
  57. res_id = self.user_model.copy(cr, uid, res_id, default={}, context={})
  58. vals = self.user_model.read(cr, uid, [res_id], ['name', 'lastname', 'firstname'], context={})[0]
  59. self.assertEqual(vals['name'] == "lastname (copy) firstname" and
  60. vals['lastname'] == 'lastname (copy)' and
  61. vals['firstname'] == 'firstname', True, 'Copy of the user failed with wrong values')
  62. def test_update_user_lastname(self):
  63. cr, uid = self.cr, ADMIN_USER_ID
  64. # create a user
  65. res_id = self.user_model.create(cr, uid, self.dict_user, context={})
  66. # get the related partner id and add it a firstname
  67. dict = self.user_model.read(cr, uid, [res_id], ['partner_id'], context={})[0]
  68. self.partner_model.write(cr, uid, dict['partner_id'][0], {'firstname':'firstname'}, context={})
  69. self.user_model.write(cr, uid, res_id, {'name': 'change firstname'}, context={})
  70. vals = self.user_model.read(cr, uid, [res_id], ['name', 'lastname', 'firstname'], context={})[0]
  71. self.assertEqual(vals['name'] == "change firstname" and
  72. vals['lastname'] == 'change' and
  73. vals['firstname'] == 'firstname', True, 'Update of the user lastname failed with wrong values')
  74. def test_update_user_firstname(self):
  75. cr, uid = self.cr, ADMIN_USER_ID
  76. # create a user
  77. res_id = self.user_model.create(cr, uid, self.dict_user, context={})
  78. # get the related partner id and add it a firstname
  79. dict = self.user_model.read(cr, uid, [res_id], ['partner_id'], context={})[0]
  80. self.partner_model.write(cr, uid, dict['partner_id'][0], {'firstname':'firstname'}, context={})
  81. self.user_model.write(cr, uid, res_id, {'name': 'lastname other'}, context={})
  82. vals = self.user_model.read(cr, uid, [res_id], ['name', 'lastname', 'firstname'], context={})[0]
  83. self.assertEqual(vals['name'] == "lastname other" and
  84. vals['lastname'] == 'lastname other' and
  85. vals['firstname'] == False, True, 'Update of the user firstname failed with wrong values')
  86. # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: