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)