def get(self, request): """basic profile info""" data = { "form": forms.LimitedEditUserForm(instance=request.user), "next": self.next_view, } return TemplateResponse(request, "get_started/profile.html", data)
def post(self, request): """update your profile""" form = forms.LimitedEditUserForm(request.POST, request.FILES, instance=request.user) if not form.is_valid(): data = {"form": form, "next": "get-started-books"} return TemplateResponse(request, "get_started/profile.html", data) save_user_form(form) return redirect(self.next_view)
def test_profile_view_post(self): """save basic user details""" view = views.GetStartedProfile.as_view() form = forms.LimitedEditUserForm(instance=self.local_user) form.data["name"] = "New Name" form.data["discoverable"] = "True" request = self.factory.post("", form.data) request.user = self.local_user self.assertIsNone(self.local_user.name) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay" ) as delay_mock: view(request) self.assertEqual(delay_mock.call_count, 1) self.assertEqual(self.local_user.name, "New Name") self.assertTrue(self.local_user.discoverable)