angrybeanie_wagtail/env/lib/python3.12/site-packages/wagtail/tests/test_comments.py

44 lines
1.6 KiB
Python
Raw Normal View History

2025-07-25 21:32:16 +10:00
from django.contrib.auth import get_user_model
from django.test import TestCase
from wagtail.models import Comment, Page
class CommentTestingUtils:
def setUp(self):
self.page = Page.objects.get(title="Welcome to the Wagtail test site!")
self.revision_1 = self.page.save_revision()
self.revision_2 = self.page.save_revision()
def create_comment(self, revision_created):
return Comment.objects.create(
page=self.page,
user=get_user_model().objects.first(),
text="test",
contentpath="title",
revision_created=revision_created,
)
class TestRevisionDeletion(CommentTestingUtils, TestCase):
fixtures = ["test.json"]
def setUp(self):
super().setUp()
self.revision_3 = self.page.save_revision()
self.old_comment = self.create_comment(self.revision_1)
self.new_comment = self.create_comment(self.revision_3)
def test_deleting_old_revision_moves_comment_revision_created_forwards(self):
# test that when a revision is deleted, a comment linked to it via revision_created has its revision_created moved
# to the next revision
self.revision_1.delete()
self.old_comment.refresh_from_db()
self.assertEqual(self.old_comment.revision_created, self.revision_2)
def test_deleting_most_recent_revision_deletes_created_comments(self):
# test that when the most recent revision is deleted, any comments created on it are also deleted
self.revision_3.delete()
with self.assertRaises(Comment.DoesNotExist):
self.new_comment.refresh_from_db()