32 lines
941 B
Python
32 lines
941 B
Python
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"))
|