mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-06-10 09:19:27 +00:00
66 lines
2.2 KiB
Python
66 lines
2.2 KiB
Python
""" style fixes and lookups for templates """
|
|
from unittest.mock import patch
|
|
|
|
from django.test import TestCase
|
|
|
|
from bookwyrm import models
|
|
from bookwyrm.templatetags import book_display_tags
|
|
|
|
|
|
@patch("bookwyrm.activitystreams.add_status_task.delay")
|
|
@patch("bookwyrm.activitystreams.remove_status_task.delay")
|
|
@patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async")
|
|
class BookDisplayTags(TestCase):
|
|
"""lotta different things here"""
|
|
|
|
@classmethod
|
|
def setUpTestData(cls):
|
|
"""create some filler objects"""
|
|
with (
|
|
patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"),
|
|
patch("bookwyrm.activitystreams.populate_stream_task.delay"),
|
|
patch("bookwyrm.lists_stream.populate_lists_task.delay"),
|
|
):
|
|
cls.user = models.User.objects.create_user(
|
|
"mouse@example.com",
|
|
"mouse@mouse.mouse",
|
|
"mouseword",
|
|
local=True,
|
|
localname="mouse",
|
|
)
|
|
cls.book = models.Edition.objects.create(title="Test Book")
|
|
|
|
def test_get_book_description(self, *_):
|
|
"""grab it from the edition or the parent"""
|
|
work = models.Work.objects.create(title="Test Work")
|
|
self.book.parent_work = work
|
|
self.book.save()
|
|
|
|
self.assertIsNone(book_display_tags.get_book_description(self.book))
|
|
|
|
work.description = "hi"
|
|
work.save()
|
|
self.assertEqual(book_display_tags.get_book_description(self.book), "hi")
|
|
|
|
self.book.description = "hello"
|
|
self.book.save()
|
|
self.assertEqual(book_display_tags.get_book_description(self.book), "hello")
|
|
|
|
def test_get_book_file_links(self, *_):
|
|
"""load approved links"""
|
|
link = models.FileLink.objects.create(
|
|
book=self.book,
|
|
url="https://web.site/hello",
|
|
)
|
|
links = book_display_tags.get_book_file_links(self.book)
|
|
# the link is pending
|
|
self.assertFalse(links.exists())
|
|
|
|
domain = link.domain
|
|
domain.status = "approved"
|
|
domain.save()
|
|
|
|
links = book_display_tags.get_book_file_links(self.book)
|
|
self.assertTrue(links.exists())
|
|
self.assertEqual(links[0], link)
|