From d0114d2e8353025c1288cd34d0ac2f3ef5add3da Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 5 Aug 2021 18:05:57 -0700 Subject: [PATCH 1/3] Adds test for book add description view --- bookwyrm/tests/views/test_book.py | 12 ++++++++++++ bookwyrm/views/books.py | 9 +++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/bookwyrm/tests/views/test_book.py b/bookwyrm/tests/views/test_book.py index 6f6116b2e..51f8b5d56 100644 --- a/bookwyrm/tests/views/test_book.py +++ b/bookwyrm/tests/views/test_book.py @@ -299,3 +299,15 @@ class BookViews(TestCase): self.book.refresh_from_db() self.assertTrue(self.book.cover) + + def test_add_description(self): + """add a book description""" + self.local_user.groups.add(self.group) + request = self.factory.post("", {"description": "new description hi"}) + request.user = self.local_user + + views.add_description(request, self.book.id) + + self.book.refresh_from_db() + self.assertEqual(self.book.description, "new description hi") + self.assertEqual(self.book.last_edited_by, self.local_user) diff --git a/bookwyrm/views/books.py b/bookwyrm/views/books.py index 492d0cac4..d56e2f22c 100644 --- a/bookwyrm/views/books.py +++ b/bookwyrm/views/books.py @@ -339,18 +339,15 @@ def set_cover_from_url(url): @permission_required("bookwyrm.edit_book", raise_exception=True) def add_description(request, book_id): """upload a new cover""" - if not request.method == "POST": - return redirect("/") - book = get_object_or_404(models.Edition, id=book_id) description = request.POST.get("description") book.description = description book.last_edited_by = request.user - book.save() + book.save(update_fields=["description", "last_edited_by"]) - return redirect("/book/%s" % book.id) + return redirect("book", book.id) @require_POST @@ -360,7 +357,7 @@ def resolve_book(request): connector = connector_manager.get_or_create_connector(remote_id) book = connector.get_or_create_book(remote_id) - return redirect("/book/%d" % book.id) + return redirect("book", book.id) @login_required From 41742d6698074e29ba4077fb04a296cd4841ce74 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 5 Aug 2021 18:16:23 -0700 Subject: [PATCH 2/3] Adds inventaire get connector test --- .../tests/connectors/test_inventaire_connector.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bookwyrm/tests/connectors/test_inventaire_connector.py b/bookwyrm/tests/connectors/test_inventaire_connector.py index c66f0400d..381017727 100644 --- a/bookwyrm/tests/connectors/test_inventaire_connector.py +++ b/bookwyrm/tests/connectors/test_inventaire_connector.py @@ -171,3 +171,15 @@ class Inventaire(TestCase): } self.assertEqual(get_language_code(options), "there") self.assertIsNone(get_language_code({})) + + @responses.activate + def test_get_description(self): + """extract a wikipedia excerpt""" + responses.add( + responses.GET, + "https://inventaire.io/api/data?action=wp-extract&lang=en&title=test_path", + json={"extract": "hi hi"}, + ) + + extract = self.connector.get_description({"enwiki": "test_path"}) + self.assertEqual(extract, "hi hi") From 48175023bcad05526479c5830ed4cd25c30a53de Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Thu, 5 Aug 2021 18:58:32 -0700 Subject: [PATCH 3/3] Mocks broadcast --- bookwyrm/tests/views/test_book.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bookwyrm/tests/views/test_book.py b/bookwyrm/tests/views/test_book.py index 51f8b5d56..3b6748523 100644 --- a/bookwyrm/tests/views/test_book.py +++ b/bookwyrm/tests/views/test_book.py @@ -306,7 +306,8 @@ class BookViews(TestCase): request = self.factory.post("", {"description": "new description hi"}) request.user = self.local_user - views.add_description(request, self.book.id) + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + views.add_description(request, self.book.id) self.book.refresh_from_db() self.assertEqual(self.book.description, "new description hi")