Esempio n. 1
0
    def test_unshelve(self, *_):
        """remove a book from a shelf"""
        with patch(
                "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
        ):
            models.ShelfBook.objects.create(book=self.book,
                                            user=self.local_user,
                                            shelf=self.shelf)
        item = models.ShelfBook.objects.get()

        self.shelf.save()
        self.assertEqual(self.shelf.books.count(), 1)
        request = self.factory.post("", {
            "book": self.book.id,
            "shelf": self.shelf.id
        })
        request.user = self.local_user
        with patch(
                "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"
        ) as mock:
            views.unshelve(request)
        activity = json.loads(mock.call_args[1]["args"][1])
        self.assertEqual(activity["type"], "Remove")
        self.assertEqual(activity["object"]["id"], item.remote_id)
        self.assertEqual(self.shelf.books.count(), 0)
Esempio n. 2
0
 def test_handle_unshelve(self, _):
     """ remove a book from a shelf """
     with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"):
         models.ShelfBook.objects.create(book=self.book,
                                         user=self.local_user,
                                         shelf=self.shelf)
     self.shelf.save()
     self.assertEqual(self.shelf.books.count(), 1)
     request = self.factory.post("", {
         "book": self.book.id,
         "shelf": self.shelf.id
     })
     request.user = self.local_user
     with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"):
         views.unshelve(request)
     self.assertEqual(self.shelf.books.count(), 0)