diff --git a/accounts/tests.py b/accounts/tests.py index ee8ad172276797fd38bf7e0616d18e06cfc804d3..baecb7ebf3788c0fe0c652eda5a4a8dbabd605ac 100644 --- a/accounts/tests.py +++ b/accounts/tests.py @@ -11,6 +11,7 @@ from uuid import uuid4 from bs4 import BeautifulSoup from django.conf import settings +from django.core import mail from django.contrib.auth.models import Permission from django.contrib.auth.models import User from django.test import TestCase @@ -466,3 +467,18 @@ class ProfilTest(TestCase): self.user.first_name = "last_name" self.user.save() self.assertEqual(str(self.user.profile), "Test") + + +class PasswordResetTest(TestCase): + def setUp(self): + self.password = "AAA" + self.user = User.objects.create_user("AAA", "AAA@exemple.com", self.password) + + def test_password_reset_form(self): + """Check for regression on #75""" + resp = self.client.post("/accounts/password_reset/", data={"email": self.user.email}) + self.assertEqual(resp.status_code, 302) + self.assertEqual(resp.url, "/accounts/password_reset/done/") + self.assertEqual(len(mail.outbox), 1) + self.assertIn(self.user.email, mail.outbox[0].to) + self.assertEqual(len(mail.outbox[0].to), 1) diff --git a/accounts/urls.py b/accounts/urls.py index b74591b827de16fa7ad03e029fcfbc27d10323c0..105167fb9862bafa6c695fc38e74d4568ebf2814 100644 --- a/accounts/urls.py +++ b/accounts/urls.py @@ -51,8 +51,8 @@ urlpatterns = [ ), name="password_reset_done", ), - re_path( - r"^reset/(?P[0-9A-Za-z_\-]+)/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/a$", + path( + "reset///a", auth_views.PasswordResetConfirmView.as_view( template_name="accounts/password_reset_confirm.html", success_url=reverse_lazy("password_reset_complete"),