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)
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)