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)