summaryrefslogtreecommitdiff
path: root/tests/auth_tests
diff options
context:
space:
mode:
authorMarcelo Galigniana <marcelogaligniana@gmail.com>2022-10-23 08:42:40 -0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-10-26 12:52:18 +0200
commitb440493eaad28f093278a7a6981386dd5a989a74 (patch)
treed1db4d1bea9f3d9ac583a5fd5d90d992392ceaf2 /tests/auth_tests
parent022a864a5d1de28b853f009566a24be251e90d96 (diff)
downloaddjango-b440493eaad28f093278a7a6981386dd5a989a74.tar.gz
Completed test coverage for contrib.auth.forms.
Diffstat (limited to 'tests/auth_tests')
-rw-r--r--tests/auth_tests/test_forms.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/auth_tests/test_forms.py b/tests/auth_tests/test_forms.py
index 98bf264040..3bacd7a9fb 100644
--- a/tests/auth_tests/test_forms.py
+++ b/tests/auth_tests/test_forms.py
@@ -590,6 +590,14 @@ class AuthenticationFormTest(TestDataMixin, TestCase):
form.fields[field_name].widget.attrs["autocomplete"], autocomplete
)
+ def test_no_password(self):
+ data = {"username": "username"}
+ form = AuthenticationForm(None, data)
+ self.assertIs(form.is_valid(), False)
+ self.assertEqual(
+ form["password"].errors, [Field.default_error_messages["required"]]
+ )
+
class SetPasswordFormTest(TestDataMixin, TestCase):
def test_password_verification(self):
@@ -655,6 +663,23 @@ class SetPasswordFormTest(TestDataMixin, TestCase):
form["new_password2"].errors,
)
+ def test_no_password(self):
+ user = User.objects.get(username="testclient")
+ data = {"new_password1": "new-password"}
+ form = SetPasswordForm(user, data)
+ self.assertIs(form.is_valid(), False)
+ self.assertEqual(
+ form["new_password2"].errors, [Field.default_error_messages["required"]]
+ )
+ form = SetPasswordForm(user, {})
+ self.assertIs(form.is_valid(), False)
+ self.assertEqual(
+ form["new_password1"].errors, [Field.default_error_messages["required"]]
+ )
+ self.assertEqual(
+ form["new_password2"].errors, [Field.default_error_messages["required"]]
+ )
+
def test_password_whitespace_not_stripped(self):
user = User.objects.get(username="testclient")
data = {
@@ -1201,6 +1226,7 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase):
self.assertEqual(password_changed.call_count, 0)
form.save()
self.assertEqual(password_changed.call_count, 1)
+ self.assertEqual(form.changed_data, ["password"])
def test_password_whitespace_not_stripped(self):
user = User.objects.get(username="testclient")
@@ -1212,6 +1238,7 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase):
self.assertTrue(form.is_valid())
self.assertEqual(form.cleaned_data["password1"], data["password1"])
self.assertEqual(form.cleaned_data["password2"], data["password2"])
+ self.assertEqual(form.changed_data, ["password"])
def test_non_matching_passwords(self):
user = User.objects.get(username="testclient")
@@ -1220,6 +1247,7 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase):
self.assertEqual(
form.errors["password2"], [form.error_messages["password_mismatch"]]
)
+ self.assertEqual(form.changed_data, ["password"])
def test_missing_passwords(self):
user = User.objects.get(username="testclient")
@@ -1228,6 +1256,7 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase):
required_error = [Field.default_error_messages["required"]]
self.assertEqual(form.errors["password1"], required_error)
self.assertEqual(form.errors["password2"], required_error)
+ self.assertEqual(form.changed_data, [])
def test_one_password(self):
user = User.objects.get(username="testclient")
@@ -1235,9 +1264,11 @@ class AdminPasswordChangeFormTest(TestDataMixin, TestCase):
required_error = [Field.default_error_messages["required"]]
self.assertEqual(form1.errors["password1"], required_error)
self.assertNotIn("password2", form1.errors)
+ self.assertEqual(form1.changed_data, [])
form2 = AdminPasswordChangeForm(user, {"password1": "test", "password2": ""})
self.assertEqual(form2.errors["password2"], required_error)
self.assertNotIn("password1", form2.errors)
+ self.assertEqual(form2.changed_data, [])
def test_html_autocomplete_attributes(self):
user = User.objects.get(username="testclient")