28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
from odoo.tests.common import HttpCase
|
|
from werkzeug.urls import url_parse
|
|
|
|
|
|
class TestResetPassword(HttpCase):
|
|
|
|
def test_reset_password(self):
|
|
"""
|
|
Test that first signup link and password reset link are different to accomodate for the different behaviour
|
|
on first signup if a password is already set user is redirected to login page when accessing that link again
|
|
'signup_email' is used in the web controller (web_auth_reset_password) to detect this behaviour
|
|
"""
|
|
test_user = self.env['res.users'].create({
|
|
'login': 'test',
|
|
'name': 'The King',
|
|
'email': 'noop@example.com',
|
|
})
|
|
|
|
self.assertEqual(test_user.email, url_parse(test_user.with_context(create_user=True).signup_url).decode_query()["signup_email"], "query must contain 'signup_email'")
|
|
|
|
# Invalidate signup_url to skip signup process
|
|
self.env.invalidate_all()
|
|
test_user.action_reset_password()
|
|
|
|
self.assertNotIn("signup_email", url_parse(test_user.signup_url).decode_query(), "query should not contain 'signup_email'")
|