31 lines
986 B
Python
31 lines
986 B
Python
from django.contrib.auth.models import User
|
|
from django.test import TestCase
|
|
from django.urls import reverse
|
|
|
|
from shop.tests.mixins import CreateProductsMixin
|
|
|
|
|
|
class TestChangeUserPassword(TestCase, CreateProductsMixin):
|
|
def setUp(self):
|
|
self.password = "ihatesand"
|
|
self.user = User.objects.create_user("vader", "darth@vader.com", self.password)
|
|
|
|
def test_update_user_info(self):
|
|
self.client.force_login(self.user)
|
|
response = self.client.get(reverse("web:change_password_component"))
|
|
|
|
assert response.status_code == 200
|
|
new_password = "ifnhatesandbro"
|
|
data = {
|
|
"old_password": self.password,
|
|
"new_password1": new_password,
|
|
"new_password2": new_password,
|
|
}
|
|
|
|
response = self.client.post(reverse("web:change_password_component"), data)
|
|
|
|
assert response.status_code == 200
|
|
self.user.refresh_from_db()
|
|
|
|
assert self.user.check_password(new_password)
|