示例#1
0
 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)
示例#2
0
 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)
示例#3
0
    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)