parent
1c4cfb25b1
commit
207bdbc6ce
@ -0,0 +1,65 @@ |
||||
from datetime import date, timedelta |
||||
|
||||
from django.test import TestCase |
||||
from wagtail.models import Page, Site |
||||
|
||||
from core.models import EventIndexPage, EventPage, HomePage |
||||
|
||||
|
||||
class EventIndexPageTemplateTests(TestCase): |
||||
@classmethod |
||||
def setUpTestData(cls): |
||||
default_site = Site.objects.filter(is_default_site=True).first() |
||||
if default_site: |
||||
cls.home_page = default_site.root_page.specific |
||||
default_site.hostname = 'testserver' |
||||
default_site.site_name = 'Test site' |
||||
default_site.save() |
||||
else: |
||||
root_page = Page.get_first_root_node() |
||||
cls.home_page = HomePage(title='Home', slug='home') |
||||
root_page.add_child(instance=cls.home_page) |
||||
cls.home_page.save_revision().publish() |
||||
Site.objects.create( |
||||
hostname='testserver', |
||||
root_page=cls.home_page, |
||||
is_default_site=True, |
||||
site_name='Test site', |
||||
) |
||||
|
||||
cls.index_page = EventIndexPage(title='Events', slug='events-overview') |
||||
cls.home_page.add_child(instance=cls.index_page) |
||||
cls.index_page.save_revision().publish() |
||||
|
||||
def test_event_index_page_renders_enhanced_timeline_layout(self): |
||||
event_page = EventPage( |
||||
title='Spring Academy', |
||||
slug='spring-academy', |
||||
subtitle='Music and masterclasses', |
||||
start_date=date.today() + timedelta(days=14), |
||||
end_date=date.today() + timedelta(days=16), |
||||
location_name='Konzerthaus', |
||||
location_street='Street 1', |
||||
location_city='10115 Berlin', |
||||
show_in_event_calendar=True, |
||||
is_partner_event=True, |
||||
registration_start_date=date.today(), |
||||
) |
||||
self.index_page.add_child(instance=event_page) |
||||
event_page.save_revision().publish() |
||||
|
||||
response = self.client.get(self.index_page.url) |
||||
|
||||
self.assertContains(response, 'event-index-timeline') |
||||
self.assertContains(response, 'timeline-page-hero') |
||||
self.assertContains(response, 'event-timeline-card') |
||||
self.assertContains(response, 'event-timeline-placeholder') |
||||
self.assertContains(response, 'Partner Event') |
||||
self.assertContains(response, 'Zur Anmeldung') |
||||
self.assertContains(response, 'Konzerthaus') |
||||
|
||||
def test_event_index_page_shows_empty_state_without_events(self): |
||||
response = self.client.get(self.index_page.url) |
||||
|
||||
self.assertContains(response, 'timeline-empty-state') |
||||
self.assertContains(response, 'Zurzeit sind keine Veranstaltungen geplant.') |
||||
Loading…
Reference in new issue