test: Add more assertions for reset password
This commit is contained in:
parent
9781fb758f
commit
6f72e79f1a
2 changed files with 28 additions and 5 deletions
|
|
@ -1,11 +1,12 @@
|
|||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# MIT License. See license.txt
|
||||
import frappe, unittest
|
||||
import json
|
||||
|
||||
from frappe.model.delete_doc import delete_doc
|
||||
from frappe.utils import get_url
|
||||
from frappe.core.doctype.user.user import (test_password_strength,
|
||||
extract_mentions, sign_up, update_password, verify_password)
|
||||
extract_mentions, sign_up, update_password, verify_password, reset_password)
|
||||
from frappe.frappeclient import FrappeClient
|
||||
|
||||
from unittest.mock import patch
|
||||
|
|
@ -347,6 +348,30 @@ class TestUser(unittest.TestCase):
|
|||
# reset password
|
||||
update_password(old_password, old_password=new_password)
|
||||
|
||||
# test API endpoint
|
||||
with patch.object(user_module.frappe, 'sendmail') as sendmail:
|
||||
frappe.clear_messages()
|
||||
test_user = frappe.get_doc("User", "test2@example.com")
|
||||
self.assertEqual(reset_password(user="test2@example.com"), None)
|
||||
test_user.reload()
|
||||
self.assertEqual(update_password(new_password, key=test_user.reset_password_key), "/")
|
||||
update_password(old_password, old_password=new_password)
|
||||
self.assertEqual(json.loads(frappe.message_log[0]), {"message": "Password reset instructions have been sent to your email"})
|
||||
sendmail.assert_called_once()
|
||||
self.assertEqual(sendmail.call_args[1]["recipients"], "test2@example.com")
|
||||
|
||||
self.assertEqual(reset_password(user="test2@example.com"), None)
|
||||
self.assertEqual(reset_password(user="Administrator"), "not allowed")
|
||||
self.assertEqual(reset_password(user="random"), "not found")
|
||||
|
||||
def test_user_onload_modules(self):
|
||||
from frappe.desk.form.load import getdoc
|
||||
from frappe.config import get_modules_from_all_apps
|
||||
frappe.response.docs = []
|
||||
getdoc("User", "Administrator")
|
||||
doc = frappe.response.docs[0]
|
||||
self.assertListEqual(doc.get("__onload").get('all_modules', []),
|
||||
[m.get("module_name") for m in get_modules_from_all_apps()])
|
||||
|
||||
|
||||
def test_password_verification(self):
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
# Copyright (c) 2019, Frappe Technologies and Contributors
|
||||
# See license.txt
|
||||
import frappe
|
||||
from frappe.core.doctype.user.user import get_system_users
|
||||
from frappe.desk.form.assign_to import add as assign_task
|
||||
import unittest
|
||||
|
||||
|
|
@ -54,7 +55,4 @@ def get_todo():
|
|||
return frappe.get_cached_doc('ToDo', res[0].name)
|
||||
|
||||
def get_user():
|
||||
users = frappe.db.get_all('User',
|
||||
filters={'name': ('not in', ['Administrator', 'Guest']), 'enabled': 1},
|
||||
fields='name', limit=1)
|
||||
return users[0].name
|
||||
return get_system_users(limit=1)[0]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue