This commit mocks the "preference_save" action on the res.users model during the test that checks that the user can modify its own preferences. This allows to ease the testing as a context reload in the middle of test steps was not handled correctly by the test runner. Task-3246086 closes odoo/odoo#116800 Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
21 lines
882 B
Python
21 lines
882 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.tests import HttpCase, tagged
|
|
from odoo.addons.base.models.res_users import Users
|
|
|
|
from unittest.mock import patch
|
|
|
|
|
|
@tagged('-at_install', 'post_install')
|
|
class TestUserModifyOwnProfile(HttpCase):
|
|
|
|
def test_user_modify_own_profile(self):
|
|
"""" A user should be able to modify their own profile.
|
|
Even if that user does not have access rights to write on the res.users model. """
|
|
|
|
# avoid 'reload_context' action in the middle of the tour to ease steps and form save checks
|
|
with patch.object(Users, 'preference_save', lambda self: True):
|
|
self.start_tour("/web", "mail/static/tests/tours/user_modify_own_profile_tour.js", login="demo")
|
|
self.assertEqual(self.env.ref('base.user_demo').email, "updatedemail@example.com")
|