Update shelf test now that it has multiple users

This commit is contained in:
Mouse Reeve 2022-07-14 12:10:29 -07:00
parent 3f47cca5e6
commit 317a239d40

View file

@ -74,7 +74,7 @@ class ShelfActionViews(TestCase):
def test_shelve_to_read(self, *_): def test_shelve_to_read(self, *_):
"""special behavior for the to-read shelf""" """special behavior for the to-read shelf"""
shelf = models.Shelf.objects.get(identifier="to-read") shelf = models.Shelf.objects.get(user=self.local_user, identifier="to-read")
request = self.factory.post( request = self.factory.post(
"", {"book": self.book.id, "shelf": shelf.identifier} "", {"book": self.book.id, "shelf": shelf.identifier}
) )
@ -87,7 +87,7 @@ class ShelfActionViews(TestCase):
def test_shelve_reading(self, *_): def test_shelve_reading(self, *_):
"""special behavior for the reading shelf""" """special behavior for the reading shelf"""
shelf = models.Shelf.objects.get(identifier="reading") shelf = models.Shelf.objects.get(user=self.local_user, identifier="reading")
request = self.factory.post( request = self.factory.post(
"", {"book": self.book.id, "shelf": shelf.identifier} "", {"book": self.book.id, "shelf": shelf.identifier}
) )
@ -100,7 +100,7 @@ class ShelfActionViews(TestCase):
def test_shelve_read(self, *_): def test_shelve_read(self, *_):
"""special behavior for the read shelf""" """special behavior for the read shelf"""
shelf = models.Shelf.objects.get(identifier="read") shelf = models.Shelf.objects.get(user=self.local_user, identifier="read")
request = self.factory.post( request = self.factory.post(
"", {"book": self.book.id, "shelf": shelf.identifier} "", {"book": self.book.id, "shelf": shelf.identifier}
) )
@ -113,11 +113,13 @@ class ShelfActionViews(TestCase):
def test_shelve_read_with_change_shelf(self, *_): def test_shelve_read_with_change_shelf(self, *_):
"""special behavior for the read shelf""" """special behavior for the read shelf"""
previous_shelf = models.Shelf.objects.get(identifier="reading") previous_shelf = models.Shelf.objects.get(
user=self.local_user, identifier="reading"
)
models.ShelfBook.objects.create( models.ShelfBook.objects.create(
shelf=previous_shelf, user=self.local_user, book=self.book shelf=previous_shelf, user=self.local_user, book=self.book
) )
shelf = models.Shelf.objects.get(identifier="read") shelf = models.Shelf.objects.get(user=self.local_user, identifier="read")
request = self.factory.post( request = self.factory.post(
"", "",
@ -168,7 +170,7 @@ class ShelfActionViews(TestCase):
views.create_shelf(request) views.create_shelf(request)
shelf = models.Shelf.objects.get(name="new shelf name") shelf = models.Shelf.objects.get(user=self.local_user, name="new shelf name")
self.assertEqual(shelf.privacy, "unlisted") self.assertEqual(shelf.privacy, "unlisted")
self.assertEqual(shelf.description, "desc") self.assertEqual(shelf.description, "desc")
self.assertEqual(shelf.user, self.local_user) self.assertEqual(shelf.user, self.local_user)
@ -198,18 +200,8 @@ class ShelfActionViews(TestCase):
def test_delete_shelf_unauthorized(self, *_): def test_delete_shelf_unauthorized(self, *_):
"""delete a brand new custom shelf""" """delete a brand new custom shelf"""
with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch(
"bookwyrm.activitystreams.populate_stream_task.delay"
), patch("bookwyrm.lists_stream.populate_lists_task.delay"):
rat = models.User.objects.create_user(
"rat@local.com",
"rat@mouse.mouse",
"password",
local=True,
localname="rat",
)
request = self.factory.post("") request = self.factory.post("")
request.user = rat request.user = self.another_user
with self.assertRaises(PermissionDenied): with self.assertRaises(PermissionDenied):
views.delete_shelf(request, self.shelf.id) views.delete_shelf(request, self.shelf.id)