def testSetDescription(self): group = GroupPage(slug = "sandmen", title = "Sandmen") self.home.add_child(instance=group) group.save_revision().publish() page = MultidayEventPage(owner = self.user, slug = "road-trip", title = "Road Trip", date_from = dt.date(2016,11,1), date_to = dt.date(2016,11,10), group_page = group) self.calendar.add_child(instance=page) page.save_revision().publish() request = self._getRequest() thisEvent = ThisEvent(page.title, page, page.get_url(request)) entry = EventEntry.fromEvent(thisEvent, request) rss = entry.rss_entry() self.assertEqual(etree.tostring(rss), b"""<item><title>Road Trip</title><link>http://joy.test/events/road-trip/</link><description>\n <div class="joy-ev-who joy-field"> <a class="joy-ev-who__link" href="http://joy.test/sandmen/">Sandmen</a> </div>\n\n\n <div class="joy-ev-when joy-field"> Tuesday 1st of November 2016 to Thursday 10th of November 2016\n </div>\n\n\n\n <div class="rich-text"></div> </description><guid isPermaLink="true">http://joy.test/events/road-trip/</guid></item>""")
def testFromPage(self): page = MultidayEventPage(owner=self.user, slug="kainiue-food-festival", title="KaiNiue Food Festival", date_from=dt.date(2018, 11, 2), date_to=dt.date(2018, 11, 5), tz=pytz.timezone("Pacific/Niue")) self.calendar.add_child(instance=page) page.save_revision().publish() gev = MultidayGEvent.fromPage(page) self.assertEqual(gev['dates'], "20181102T000000/20181105T235959") self.assertEqual(gev['ctz'], "Pacific/Niue")
def testFromPage(self): page = MultidayEventPage(owner=self.user, slug="niuekulele2018", title="Niuekulele Ukulele Music Festival", date_from=dt.date(2018, 3, 16), date_to=dt.date(2018, 3, 20), tz=pytz.timezone("Pacific/Niue")) self.calendar.add_child(instance=page) page.save_revision().publish() vev = MultidayVEvent.fromPage(page) tz = pytz.timezone("Pacific/Niue") self.assertEqual(vev['dtstart'].dt, tz.localize(dt.datetime(2018, 3, 16, 0, 0))) self.assertEqual( vev['dtend'].dt, tz.localize(dt.datetime(2018, 3, 20, 23, 59, 59, 999999)))
def testServeMultiday(self): page = MultidayEventPage(owner=self.user, slug="food-festival", title="Food Festival", date_from=dt.date(2018, 11, 2), date_to=dt.date(2018, 11, 5), tz=pytz.timezone("Pacific/Niue")) self.calendar.add_child(instance=page) page.save_revision().publish() response = self.handler.serve( page, self._getRequest("/events/food-festival/" "?format=google")) self.assertEqual(response.status_code, 302) self.assertEqual( response.url, "http://www.google.com/calendar/event?action=TEMPLATE&" "text=Food+Festival&dates=20181102T000000%2F20181105T235959&" "ctz=Pacific%2FNiue")
def testSetCategory(self): cat = EventCategory.objects.create(code="A1", name="AlphaOne") page = MultidayEventPage(owner = self.user, slug = "road-trip", title = "Road Trip", date_from = dt.date(2016,11,1), date_to = dt.date(2016,11,10), time_from = dt.time(10), category = cat) self.calendar.add_child(instance=page) page.save_revision().publish() request = self._getRequest() thisEvent = ThisEvent(page.title, page, page.get_url(request)) entry = EventEntry.fromEvent(thisEvent, request) self.assertEqual(entry.category(), [{'term': 'AlphaOne'}]) rss = entry.rss_entry() self.assertEqual(etree.tostring(rss), b"""<item><title>Road Trip</title><link>http://joy.test/events/road-trip/</link><description>\n\n\n <div class="joy-ev-when joy-field"> Tuesday 1st of November 2016 at 10am to Thursday 10th of November 2016\n </div>\n\n\n\n <div class="rich-text"></div> </description><guid isPermaLink="true">http://joy.test/events/road-trip/</guid><category>AlphaOne</category></item>""")
def testGetAllCurrentEvents(self): today = timezone.localdate() futureEvent = MultidayEventPage(owner = self.user, slug = "yesterday", title = "Yesterday's Event", date_from = today - dt.timedelta(days=1), date_to = today + dt.timedelta(days=3), time_from = dt.time(17), time_to = dt.time(10,30)) self.calendar.add_child(instance=futureEvent) events = getAllUpcomingEvents(self.request, home=self.home) self.assertEqual(len(events), 1) title, event, url = events[0] self.assertEqual(title, "Yesterday's Event") self.assertEqual(event.slug, "yesterday") events0 = getAllUpcomingEvents(self.request) self.assertEqual(len(events0), 1)
def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.request = RequestFactory().get("/test") self.request.user = self.user self.request.session = {} self.calendar = GeneralCalendarPage(owner = self.user, slug = "events", title = "Events") self.home.add_child(instance=self.calendar) self.group = GroupPage(slug = "initech", title = "Initech Corporation") self.home.add_child(instance=self.group) self.show = SimpleEventPage(owner = self.user, slug = "pet-show", title = "Pet Show", date = dt.date(2013,1,5), time_from = dt.time(11), time_to = dt.time(17,30), uid = "29daefed-fed1-4e47-9408-43ec9b06a06d") self.calendar.add_child(instance=self.show) GROUPS = PageViewRestriction.GROUPS self.friends = Group.objects.create(name = "Friends") self.rendezvous = SimpleEventPage(owner = self.user, slug = "rendezvous", title = "Private Rendezvous", date = dt.date(2013,1,10), uid = "80af64e7-84e6-40d9-8b4f-7edf92aab9f7") self.calendar.add_child(instance=self.rendezvous) self.rendezvous.save_revision().publish() restriction = PageViewRestriction.objects.create(restriction_type = GROUPS, page = self.rendezvous) restriction.groups.set([self.friends]) restriction.save() self.party = MultidayEventPage(owner = self.user, slug = "allnighter", title = "All Night", date_from = dt.date(2012,12,31), date_to = dt.date(2013,1,1), time_from = dt.time(23), time_to = dt.time(3), uid = "initiative+technology") self.calendar.add_child(instance=self.party) self.standup = RecurringEventPage(slug = "test-meeting", title = "Test Meeting", repeat = Recurrence(dtstart=dt.date(2013,1,1), until=dt.date(2013,5,31), freq=WEEKLY, byweekday=[MO,WE,FR]), time_from = dt.time(13,30), time_to = dt.time(16), uid = "initiative+technology") self.group.add_child(instance=self.standup) self.postponement = PostponementPage(owner = self.user, slug = "2013-01-09-postponement", title = "Postponement for Wednesday 16th of October", overrides = self.standup, except_date = dt.date(2013,1,16), cancellation_title = "Meeting Postponed", cancellation_details = "The meeting has been postponed until tomorrow", postponement_title = "A Meeting", date = dt.date(2013,1,17), time_from = dt.time(13), time_to = dt.time(16,30), details = "Yes a test meeting on a Thursday") self.standup.add_child(instance=self.postponement) cancelTuesday = CancellationPage(owner = self.user, slug = "2013-01-01-cancellation", title = "CancellationPage for Tuesday 1st of January", overrides = self.standup, except_date = dt.date(2013,1,1), cancellation_title = "Meeting Cancelled") self.standup.add_child(instance=cancelTuesday)
def testMultidayEventVerboseName(self): self.assertEqual(MultidayEventPage.get_verbose_name(), "Page de l'événement sur plusieurs jours")
def testMultidayEventVerboseName(self): self.assertEqual(MultidayEventPage.get_verbose_name(), "Multiday event page")