Как проверить сигнал page_published в Wagtail?
Я добавил сигнал page_published для TraitPage, который дает разрешение на редактирование родительской страницы TraitPage.
Мой сигнал:
@receiver(page_published, sender=TraitPage)
def allow_user_edit_user_creator_page(**kwargs):
instance = kwargs['instance']
page_owner = instance.owner
# superusers have permissions to edit by default
if not page_owner.is_superuser:
user_creator_page = instance.get_parent()
usergroup = Group.objects.get(name=str(page_owner.id))
GroupPagePermission.objects.get_or_create(group=usergroup,
page=user_creator_page,
permission_type='edit')
Мой тест:
def test_edit_permission_exist_after_trait_page_added(self):
# create TraitPage
trait_page = TraitPage(
title='test trait page',
owner=self.user,
live=True,
bg_image=self.image)
# user_profile_page - is the parent of TraitPage
self.user_profile_page.add_child(instance=trait_page)
# I expect this to exist
edit_permission = GroupPagePermission.objects.filter(
group=self.usergroup, permission_type='edit', page=self.user_profile_page).exists()
self.assertTrue(edit_permission)
Из админки трясогузки все работает нормально, однако тест не проходит. Создает ли создание страницы с live=True сигнал page_published?