diff --git a/bookwyrm/tests/views/books/test_edit_book.py b/bookwyrm/tests/views/books/test_edit_book.py
index 9e3f84a1b..2dc25095f 100644
--- a/bookwyrm/tests/views/books/test_edit_book.py
+++ b/bookwyrm/tests/views/books/test_edit_book.py
@@ -1,6 +1,7 @@
""" test for app action functionality """
from unittest.mock import patch
import responses
+from responses import matchers
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
@@ -45,6 +46,44 @@ class EditBookViews(TestCase):
remote_id="https://example.com/book/1",
parent_work=self.work,
)
+ # pylint: disable=line-too-long
+ self.authors_body = "1.10000000084510024"
+
+ # pylint: disable=line-too-long
+ self.author_body = "0000000084510024https://isni.org/isni/000000008451002460Catherine Amy Dawson Scottpoet and novelistpublicQ544961C. A.Dawson Scott1865-1934publica28927850VIAF45886165ALLCREhttp://viaf.org/viaf/45886165Wikipediahttps://en.wikipedia.org/wiki/Catherine_Amy_Dawson_Scott"
+
+ responses.get(
+ "http://isni.oclc.org/sru/",
+ content_type="text/xml",
+ match=[
+ matchers.query_param_matcher(
+ {"query": 'pica.na="Sappho"'}, strict_match=False
+ )
+ ],
+ body=self.authors_body,
+ )
+
+ responses.get(
+ "http://isni.oclc.org/sru/",
+ content_type="text/xml",
+ match=[
+ matchers.query_param_matcher(
+ {"query": 'pica.na="Some Guy"'}, strict_match=False
+ )
+ ],
+ body=self.authors_body,
+ )
+
+ responses.get(
+ "http://isni.oclc.org/sru/",
+ content_type="text/xml",
+ match=[
+ matchers.query_param_matcher(
+ {"query": 'pica.isn="0000000084510024"'}, strict_match=False
+ )
+ ],
+ body=self.author_body,
+ )
models.SiteSettings.objects.create()
@@ -97,6 +136,7 @@ class EditBookViews(TestCase):
result.context_data["cover_url"], "http://local.host/cover.jpg"
)
+ @responses.activate
def test_edit_book_add_author(self):
"""lets a user edit a book with new authors"""
view = views.EditBook.as_view()
@@ -227,6 +267,7 @@ class EditBookViews(TestCase):
self.book.refresh_from_db()
self.assertTrue(self.book.cover)
+ @responses.activate
def test_add_authors_helper(self):
"""converts form input into author matches"""
form = forms.EditionForm(instance=self.book)
diff --git a/bookwyrm/utils/isni.py b/bookwyrm/utils/isni.py
index ea0364e55..318de30ef 100644
--- a/bookwyrm/utils/isni.py
+++ b/bookwyrm/utils/isni.py
@@ -85,6 +85,9 @@ def find_authors_by_name(name_string, description=False):
# build list of possible authors
possible_authors = []
for element in root.iter("responseRecord"):
+
+ # TODO: we don't seem to do anything with the
+ # personal_name variable - is this code block needed?
personal_name = element.find(".//forename/..")
if not personal_name:
continue