|
4 | 4 |
|
5 | 5 | from unittest import mock |
6 | 6 |
|
| 7 | +from freezegun import freeze_time |
7 | 8 | from requests.exceptions import HTTPError |
8 | 9 |
|
9 | 10 | from odoo import http |
@@ -82,7 +83,8 @@ def test_03_create_user_signup(self): |
82 | 83 |
|
83 | 84 | # Stronger password: no error raised |
84 | 85 | vals["password"] = "asdQWE12345_3" |
85 | | - login, pwd = self.env["res.users"].signup(vals) |
| 86 | + with freeze_time("2020-01-01"): |
| 87 | + login, pwd = self.env["res.users"].signup(vals) |
86 | 88 |
|
87 | 89 | # check created user |
88 | 90 | created_user = self.env["res.users"].search([("login", "=", "test_user")]) |
@@ -160,3 +162,23 @@ def test_06_web_auth_signup_invalid_render(self): |
160 | 162 | self.assertEqual( |
161 | 163 | response.headers["Content-Security-Policy"], "frame-ancestors 'self'" |
162 | 164 | ) |
| 165 | + |
| 166 | + def test_07_cloned_user_password_write_date(self): |
| 167 | + """Users that are cloned should have their password_write_date updated""" |
| 168 | + partner = self.env["res.partner"].create({"name": "test partner"}) |
| 169 | + vals = { |
| 170 | + "name": "Test User", |
| 171 | + "login": "test_user", |
| 172 | + "email": "test_user@odoo.com", |
| 173 | + "password": "Test_user_password123$", |
| 174 | + "partner_id": partner.id, |
| 175 | + } |
| 176 | + with freeze_time("2020-01-01"): |
| 177 | + self.env["res.users"].signup(vals) |
| 178 | + |
| 179 | + original_user = self.env["res.users"].search([("login", "=", "test_user")]) |
| 180 | + copied_user = original_user.copy() |
| 181 | + |
| 182 | + self.assertTrue( |
| 183 | + copied_user.password_write_date > original_user.password_write_date |
| 184 | + ) |
0 commit comments