feat: allow editing user profile info via modal
This commit is contained in:
@@ -239,3 +239,40 @@ class DashboardViewTests(TestCase):
|
||||
claim.refresh_from_db()
|
||||
self.assertIsNone(claim.paid_at)
|
||||
self.assertFalse(claim.logs.filter(action=ClaimLog.Action.MARKED_PAID).exists())
|
||||
|
||||
|
||||
class UserManagementViewTests(TestCase):
|
||||
def setUp(self):
|
||||
User = get_user_model()
|
||||
self.admin = User.objects.create_user(username="manager", password="test123", email="manager@example.com")
|
||||
perms = Permission.objects.filter(codename__in=["view_user", "change_user"])
|
||||
self.admin.user_permissions.add(*perms)
|
||||
self.client.force_login(self.admin)
|
||||
self.target = User.objects.create_user(username="editor", password="oldpass123", email="old@example.com")
|
||||
|
||||
def test_admin_can_update_profile_and_password(self):
|
||||
response = self.client.post(
|
||||
reverse("claims:user-manage"),
|
||||
{
|
||||
"action": "update",
|
||||
"user_id": self.target.id,
|
||||
"is_staff": "on",
|
||||
"grant_view": "on",
|
||||
"grant_change": "",
|
||||
"grant_edit": "on",
|
||||
"grant_pay": "on",
|
||||
"first_name": "New",
|
||||
"last_name": "Name",
|
||||
"email": "new@example.com",
|
||||
"new_password1": "StrongPass123!",
|
||||
"new_password2": "StrongPass123!",
|
||||
},
|
||||
follow=True,
|
||||
)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
target = get_user_model().objects.get(pk=self.target.pk)
|
||||
self.assertEqual(target.first_name, "New")
|
||||
self.assertEqual(target.last_name, "Name")
|
||||
self.assertEqual(target.email, "new@example.com")
|
||||
self.assertTrue(target.is_staff)
|
||||
self.assertTrue(target.check_password("StrongPass123!"))
|
||||
|
||||
Reference in New Issue
Block a user