diff --git a/gestion/templates/gestion/changepasswd.html b/gestion/templates/gestion/changepasswd.html
index 75c05ce..ab1a257 100644
--- a/gestion/templates/gestion/changepasswd.html
+++ b/gestion/templates/gestion/changepasswd.html
@@ -10,16 +10,15 @@
{% trans "Changement du mot de passe" %} :
-{% if error %}
-
{{ error }}
-{% endif %}
+
{% if success %}
-
{% trans "Changement enregistré" %} !
+
{% trans "Changement enregistré" %} !
{% endif %}
+
{% endblock %}
diff --git a/gestion/tests/__init__.py b/gestion/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/gestion/tests/test_views.py b/gestion/tests/test_views.py
new file mode 100644
index 0000000..dfb65d3
--- /dev/null
+++ b/gestion/tests/test_views.py
@@ -0,0 +1,32 @@
+from django.contrib.auth import get_user_model
+from django.test import Client, TestCase
+from django.urls import reverse
+
+User = get_user_model()
+
+
+class TestPasswordChangeView(TestCase):
+ def setUp(self):
+ self.user = User.objects.create_user("alice", password="changeme")
+ self.url = reverse("change_password")
+
+ def test_get(self):
+ client = Client()
+ client.force_login(self.user)
+ resp = client.get(self.url)
+ self.assertEqual(resp.status_code, 200)
+
+ def test_post(self):
+ client = Client()
+ client.force_login(self.user)
+
+ data = {
+ "old_password": "changeme",
+ "new_password1": "s3cr3tp4ss",
+ "new_password2": "s3cr3tp4ss",
+ }
+ resp = client.post(self.url, data)
+ self.assertEqual(resp.status_code, 200)
+
+ client.logout()
+ self.assertTrue(client.login(username="alice", password="s3cr3tp4ss"))
diff --git a/gestion/views.py b/gestion/views.py
index 0659b10..071704b 100644
--- a/gestion/views.py
+++ b/gestion/views.py
@@ -63,22 +63,20 @@ def change_membre(request):
user_form = ChangeFormUser(instance=request.user)
return render(request, 'gestion/change.html', locals())
+
@login_required
def change_password(request):
+ success = False
if request.method == 'POST':
- requbis = request.POST.copy()
- form = PasswordChangeForm(request.user, data=requbis)
+ form = PasswordChangeForm(request.user, data=request.POST)
if form.is_valid():
-
- request.user.profile.photo.delete()
form.save()
-
success = True
-
else:
form = PasswordChangeForm(request.user)
- return render(request, 'gestion/changepasswd.html', locals())
-
+ return render(
+ request, 'gestion/changepasswd.html', {"form": form, "success": success}
+ )
def inscription_membre(request):