From db281d5154c69dac19315228407e6dda0617742e Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 21 Dec 2020 16:19:36 -0800 Subject: [PATCH] Simplifies update user view --- bookwyrm/tests/test_view_actions.py | 19 +++++++++++++------ bookwyrm/view_actions.py | 5 +++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/bookwyrm/tests/test_view_actions.py b/bookwyrm/tests/test_view_actions.py index a23b602c8..c1e6f8607 100644 --- a/bookwyrm/tests/test_view_actions.py +++ b/bookwyrm/tests/test_view_actions.py @@ -6,7 +6,7 @@ from django.http.response import Http404 from django.test import TestCase from django.test.client import RequestFactory -from bookwyrm import view_actions as actions, models +from bookwyrm import forms, models, view_actions as actions from bookwyrm.settings import DOMAIN @@ -247,9 +247,9 @@ class ViewActions(TestCase): 'confirm-password': 'hi' }) request.user = self.local_user - resp = actions.password_change(request) - self.assertEqual(resp.template_name, 'user.html') - self.assertNotEqual(self.user.password, password_hash) + with patch('bookwyrm.view_actions.login'): + resp = actions.password_change(request) + self.assertNotEqual(self.local_user.password, password_hash) def test_password_change_mismatch(self): ''' change password ''' @@ -260,12 +260,19 @@ class ViewActions(TestCase): }) request.user = self.local_user resp = actions.password_change(request) - self.assertEqual(resp.template_name, 'edit_user.html') - self.assertEqual(self.user.password, password_hash) + self.assertEqual(self.local_user.password, password_hash) def test_edit_user(self): ''' use a form to update a user ''' + form = forms.EditUserForm(instance=self.local_user) + form.data['name'] = 'New Name' + request = self.factory.post('', form.data) + request.user = self.local_user + + with patch('bookwyrm.broadcast.broadcast_task.delay'): + actions.edit_profile(request) + self.assertEqual(self.local_user.name, 'New Name') def test_switch_edition(self): diff --git a/bookwyrm/view_actions.py b/bookwyrm/view_actions.py index dcbdede4d..5a7a059d4 100644 --- a/bookwyrm/view_actions.py +++ b/bookwyrm/view_actions.py @@ -166,7 +166,8 @@ def password_change(request): @require_POST def edit_profile(request): ''' les get fancy with images ''' - form = forms.EditUserForm(request.POST, request.FILES) + form = forms.EditUserForm( + request.POST, request.FILES, instance=request.user) if not form.is_valid(): data = {'form': form, 'user': request.user} return TemplateResponse(request, 'edit_user.html', data) @@ -201,7 +202,7 @@ def edit_profile(request): user.avatar.save(filename, ContentFile(output.getvalue())) user.save() - outgoing.handle_update_user(request.user) + outgoing.handle_update_user(user) return redirect('/user/%s' % request.user.localname)