class TestMultiday(TestCase): def setUp(self): site = Site.objects.get(is_default_site=True) site.hostname = "joy.test" site.save() self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() 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")
class TestSimpleVEvent(TestCase): def setUp(self): site = Site.objects.get(is_default_site=True) site.hostname = "joy.test" site.save() self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() def testFromPage(self): page = SimpleEventPage(owner=self.user, slug="pet-show", title="Pet Show", date=dt.date(1987, 6, 5), time_from=dt.time(11), time_to=dt.time(17, 30), tz=pytz.timezone("Australia/Sydney")) self.calendar.add_child(instance=page) page.save_revision().publish() vev = SimpleVEvent.fromPage(page) tz = pytz.timezone("Australia/Sydney") self.assertEqual(vev['dtstart'].dt, tz.localize(dt.datetime(1987, 6, 5, 11, 0)))
def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(slug="test-meeting", title="Test Meeting", repeat=Recurrence( dtstart=dt.date(1988, 1, 1), freq=WEEKLY, byweekday=[MO, WE, FR]), time_from=dt.time(13), time_to=dt.time(15, 30)) self.calendar.add_child(instance=self.event) self.info = ExtraInfoPage( owner=self.user, slug="1988-11-11-extra-info", title="Extra Information for Friday 11th of November", overrides=self.event, except_date=dt.date(1988, 11, 11), extra_title="System Demo", extra_information="<h3>System Demo</h3>") self.event.add_child(instance=self.info) self.info.save_revision().publish()
def setUp(self): imgFile = get_test_image_file() imgFile.name = "logo.png" self.img = Image.objects.create(title="Logo", file=imgFile) imgName = os.path.splitext(os.path.basename(self.img.file.name))[0] self.rendName = "{}.width-350.format-png.png".format(imgName) Site.objects.update(hostname="joy.test") self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(R3t') self.requestFactory = RequestFactory() self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(owner=self.user, slug="workshop", title="Workshop", image=self.img, repeat=Recurrence( dtstart=dt.date(2017, 1, 1), freq=MONTHLY, byweekday=[TU(1)], until=dt.date(2017, 12, 26))) self.calendar.add_child(instance=self.event) self.event.save_revision().publish() self.handler = RssHandler()
def testSubSiteAnotherCalendar(self): calendar = CalendarPage(owner = self.user, slug = "events", title = "Events") self.main.add_child(instance=calendar) calendar.save_revision().publish() self.assertTrue(CalendarPage.can_create_at(self.sub))
class TestMultidayVEvent(TestCase): def setUp(self): site = Site.objects.get(is_default_site=True) site.hostname = "joy.test" site.save() self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() 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 setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(slug="test-meeting", title="Test Meeting", repeat=Recurrence( dtstart=dt.date(1989, 1, 1), freq=WEEKLY, byweekday=[MO, WE, FR]), time_from=dt.time(13), time_to=dt.time(15, 30)) self.calendar.add_child(instance=self.event) self.cancellation = CancellationPage( owner=self.user, overrides=self.event, except_date=dt.date(1989, 2, 1), cancellation_title="Meeting Cancelled", cancellation_details="Cancelled due to lack of interest") self.event.add_child(instance=self.cancellation) self.cancellation.save_revision().publish()
def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish()
class TestTZ(TestCase): def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(slug="test-meeting", title="Test Meeting", repeat=Recurrence( dtstart=dt.date(1989, 1, 1), freq=WEEKLY, byweekday=[MO, WE, FR]), time_from=dt.time(13, 30), time_to=dt.time(16), tz=pytz.timezone("US/Eastern")) self.calendar.add_child(instance=self.event) self.cancellation = CancellationPage( owner=self.user, overrides=self.event, except_date=dt.date(1989, 2, 1), cancellation_title="Meeting Cancelled", cancellation_details="Cancelled due to lack of interest") self.event.add_child(instance=self.cancellation) self.cancellation.save_revision().publish() @timezone.override("Australia/Sydney") @freeze_timetz("1989-02-02T06:00:00+11:00") def testCurrentLocalDt(self): when = self.cancellation._current_datetime_from self.assertEqual(when.tzinfo.zone, "Australia/Sydney") self.assertEqual(when.time(), dt.time(5, 30)) self.assertEqual(when.date(), dt.date(1989, 2, 2)) @timezone.override("Australia/Sydney") @freeze_timetz("1989-02-02T06:00:00+11:00") def testFutureLocalDt(self): when = self.cancellation._future_datetime_from self.assertIsNone(when) @timezone.override("Australia/Sydney") def testPastLocalDt(self): when = self.cancellation._past_datetime_from self.assertEqual(when.tzinfo.zone, "Australia/Sydney") self.assertEqual(when.time(), dt.time(5, 30)) self.assertEqual(when.date(), dt.date(1989, 2, 2)) @timezone.override("Australia/Sydney") @freeze_timetz("1989-10-01T21:00:00+11:00") def testCopyFieldsFromParent(self): self.assertEqual(self.event.next_date, dt.date(1989, 10, 3)) cancellation = CancellationPage(owner=self.user) cancellation._copyFieldsFromParent(self.event) self.assertEqual(cancellation.overrides, self.event) self.assertEqual(cancellation.except_date, dt.date(1989, 10, 2))
class TestTZ(TestCase): def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = 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=self.event) self.event.save_revision().publish() def testGetEventsByLocalDay(self): events = MultidayEventPage.events.byDay(dt.date(2018, 3, 1), dt.date(2018, 3, 31)) self.assertEqual(len(events), 31) evod1 = events[16] self.assertEqual(evod1.date, dt.date(2018, 3, 17)) self.assertEqual(len(evod1.days_events), 1) self.assertEqual(len(evod1.continuing_events), 0) evod5 = events[20] self.assertEqual(evod5.date, dt.date(2018, 3, 21)) self.assertEqual(len(evod5.days_events), 0) self.assertEqual(len(evod5.continuing_events), 1) self.assertEqual(evod1.all_events[0], evod5.all_events[0]) self.assertEqual(evod1.all_events[0].page, evod5.all_events[0].page) @freeze_time("2018-04-01") def testLocalWhen(self): self.assertEqual(self.event.when, "Friday 16th of March to Wednesday 21st of March") def testLocalAt(self): self.assertEqual(self.event.at, "") @timezone.override("America/Los_Angeles") def testCurrentLocalDt(self): self.assertIsNone(self.event._current_datetime_from) @timezone.override("America/Los_Angeles") def testFutureLocalDt(self): self.assertIsNone(self.event._future_datetime_from) @timezone.override("Pacific/Auckland") def testPastLocalDt(self): when = self.event._past_datetime_from self.assertEqual(when.tzinfo.zone, "Pacific/Auckland") self.assertEqual(when.time(), dt.time.max) self.assertEqual(when.date(), dt.date(2018, 3, 17))
def setUp(self): self.user = User.objects.create_superuser('i', '*****@*****.**', 's3(r3t') self.request = RequestFactory().get("/test") self.request.user = self.user self.request.session = {} self.home = Page.objects.get(slug='home') self.page = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.page) self.page.save_revision().publish()
def setUp(self): Site.objects.update(hostname="joy.test") self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.requestFactory = RequestFactory() self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.handler = ICalHandler()
def setUp(self): imgFile = get_test_image_file() imgFile.name = "people.png" self.img = Image.objects.create(title="People", file=imgFile) imgName = os.path.splitext(os.path.basename(self.img.file.name))[0] self.rendName = "{}.width-350.format-png.png".format(imgName) Site.objects.update(hostname="joy.test") self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(R3t') self.requestFactory = RequestFactory() self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish()
def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner = self.user, slug = "events", title = "Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = 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=self.event) self.event.save_revision().publish()
class TestRecurring(TestCase): def setUp(self): site = Site.objects.get(is_default_site=True) site.hostname = "joy.test" site.save() self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() def testFromPage(self): page = RecurringEventPage(owner=self.user, slug="lunch-and-code", title="Lunch and Code", details="What we'll do really depends on " "what the group feels is useful, " "some ideas are:\n" "- Providing feedback on past, or " "in progress, projects\n" "- Pair programming\n" "- Coding\n", repeat=Recurrence(dtstart=dt.date( 2017, 3, 15), freq=MONTHLY, byweekday=[FR(-1)]), time_from=dt.time(12), time_to=dt.time(13), tz=pytz.timezone("Pacific/Auckland"), location="70 Molesworth Street, Wellington") self.calendar.add_child(instance=page) page.save_revision().publish() gev = RecurringGEvent.fromPage(page) self.assertEqual( gev.url, "http://www.google.com/calendar/event?" "action=TEMPLATE&" "text=Lunch+and+Code&" "details=What+we%27ll+do+really+depends+on+what+the+" "group+feels+is+useful%2C+some+ideas+are%3A%0A" "-+Providing+feedback+on+past%2C+or+in+progress%2C+projects%0A" "-+Pair+programming%0A-+Coding%0A&" "location=70+Molesworth+Street%2C+Wellington&" "dates=20170331T120000%2F20170331T130000&" "ctz=Pacific%2FAuckland&" "recur=RRULE%3AFREQ%3DMONTHLY%3BWKST%3DSU%3BBYDAY%3D-1FR")
def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = 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)) self.calendar.add_child(instance=self.event) self.event.save_revision().publish()
def testCalendarMixture(self): general = GeneralCalendarPage(owner=self.user, slug="events1", title="Events") self.main.add_child(instance=general) general.save_revision().publish() self.assertTrue(CalendarPage.can_create_at(self.main)) calendar = CalendarPage(owner=self.user, slug="events2", title="Events") self.main.add_child(instance=calendar) calendar.save_revision().publish() self.assertTrue(SpecificCalendarPage.can_create_at(self.main)) specific = SpecificCalendarPage(owner=self.user, slug="events3", title="Events") self.main.add_child(instance=specific) specific.save_revision().publish()
class TestWagtailHooks(TestCase): def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.page = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.page) self.page.save_revision().publish() @patch("ls.joyous.wagtail_hooks.ICalHandler") def testICalExport(self, Handler): request = RequestFactory().get("/test?format=ical") handlePageExport(self.page, request, [], {}) Handler.assert_called_with() Handler().serve.assert_called_with(self.page, request, [], {}) @patch("ls.joyous.wagtail_hooks.GoogleCalendarHandler") def testGoogleExport(self, Handler): request = RequestFactory().get("/test?format=google") handlePageExport(self.page, request, [], {}) Handler.assert_called_with() Handler().serve.assert_called_with(self.page, request, [], {}) @patch("ls.joyous.wagtail_hooks.RssHandler") def testRssExport(self, Handler): request = RequestFactory().get("/test?format=rss") handlePageExport(self.page, request, [], {}) Handler.assert_called_with() Handler().serve.assert_called_with(self.page, request, [], {}) @patch("ls.joyous.wagtail_hooks.NullHandler") def testNullExport(self, Handler): request = RequestFactory().get("/test") handlePageExport(self.page, request, [], {}) Handler.assert_called_with() Handler().serve.assert_called_with(self.page, request, [], {}) def testStashRequest(self): request = RequestFactory().get("/test") stashRequest(request, self.page) self.assertEqual(getattr(self.page, '__joyous_edit_request'), request) delattr(self.page, '__joyous_edit_request')
def setUp(self): self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner = self.user, slug = "events", title = "Events") Page.objects.get(slug='home').add_child(instance=self.calendar) self.calendar.save() self.calendar.save_revision().publish() self.event = RecurringEventPage(owner = self.user, slug = "lug-meetup", title = "Linux Users Group Meetup", repeat = Recurrence(dtstart=dt.date(2017,8,5), freq=MONTHLY, byweekday=[TU(1)]), time_from = dt.time(18,30), time_to = dt.time(20), location = "6 Mackay St, Greymouth (upstairs)") self.calendar.add_child(instance=self.event) self.event.save_revision().publish()
class TestPageFormDeutsche(TestCase): Form = ExtraInfoPage.get_edit_handler().get_form_class() def setUp(self): translation.activate('de') self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.calendar = CalendarPage(owner = self.user, slug = "ereignisse", title = "Ereignisse") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(slug = "meeting", title = "Testen Sie Meeting", repeat = Recurrence(dtstart=dt.date(1988,1,1), freq=WEEKLY, byweekday=[MO,WE,FR]), time_from = dt.time(13), time_to = dt.time(15,30)) self.calendar.add_child(instance=self.event) self.info = ExtraInfoPage(owner = self.user, overrides = self.event, except_date = dt.date(1999,1,5), extra_title = "Freitag", extra_information = "Besonderer Freitag") self.event.add_child(instance=self.info) self.info.save_revision().publish() def tearDown(self): translation.deactivate() def testExceptionAlreadyExists(self): page = ExtraInfoPage(owner=self.user) form = self.Form({'overrides': self.event, 'except_date': "1999-01-05", 'extra_title': "Es ist Freitag", 'extra_information': rich_text("Besonderer spezieller Freitag")}, instance=page, parent_page=self.event) self.assertFalse(form.is_valid()) self.assertDictEqual(form.errors, {'except_date': ['Dieses Datum enthält bereits zusätzliche information']})
def setUp(self): self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") Page.objects.get(slug='home').add_child(instance=self.calendar) self.calendar.save() self.calendar.save_revision().publish() self.event = MultidayRecurringEventPage( owner=self.user, slug="ice-festival", title="Ice Festival", repeat=Recurrence(dtstart=dt.date(2000, 12, 25), until=dt.date(2020, 1, 31), freq=YEARLY, bymonth=12, byweekday=MO(4)), num_days=40) self.calendar.add_child(instance=self.event) self.event.save_revision().publish()
def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner = self.user, slug = "events", title = "Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(owner = self.user, slug = "code-for-boston", title = "Code for Boston", repeat = Recurrence(dtstart=dt.date(2017,1,1), freq=WEEKLY, byweekday=[TU]), time_from = dt.time(19), time_to = dt.time(21,30), tz = pytz.timezone("US/Eastern"), location = "4th Floor, 1 Broadway, Cambridge, MA") self.calendar.add_child(instance=self.event) self.event.save_revision().publish()
def setUp(self): self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner = self.user, slug = "events", title = "Events") Page.objects.get(slug='home').add_child(instance=self.calendar) self.calendar.save() self.calendar.save_revision().publish() self.event = MultidayRecurringEventPage( owner = self.user, slug = "team-retreat", title = "Team Retreat", repeat = Recurrence(dtstart=dt.date(2000,1,1), freq=YEARLY, bymonth=8, byweekday=FR(1)), num_days = 3, time_from = dt.time(18), time_to = dt.time(16,30)) self.calendar.add_child(instance=self.event) self.event.save_revision().publish()
class TestPageForm(TestCase): Form = ExtraInfoPage.get_edit_handler().get_form_class() def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.calendar = CalendarPage(owner = self.user, slug = "events", title = "Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(slug = "test-meeting", title = "Test Meeting", repeat = Recurrence(dtstart=dt.date(1988,1,1), freq=WEEKLY, byweekday=[MO,WE,FR]), time_from = dt.time(13), time_to = dt.time(15,30)) self.calendar.add_child(instance=self.event) self.info = ExtraInfoPage(owner = self.user, overrides = self.event, except_date = dt.date(1999,1,5), extra_title = "Fri-day", extra_information = "Special Friday") self.event.add_child(instance=self.info) self.info.save_revision().publish() def testExceptionAlreadyExists(self): page = ExtraInfoPage(owner=self.user) form = self.Form({'overrides': self.event, 'except_date': "1999-01-05", 'extra_title': "It's Friday", 'extra_information': rich_text("Special Special Friday")}, instance=page, parent_page=self.event) self.assertFalse(form.is_valid()) self.assertDictEqual(form.errors, {'except_date': ['That date already has extra information']})
class TestSimple(TestCase): def setUp(self): self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() def testFromPage(self): page = SimpleEventPage(owner=self.user, slug="baseball-game", title="Baseball Game", date=dt.date(2014, 7, 30), time_from=dt.time(13), time_to=dt.time(16), tz=pytz.timezone("America/Los_Angeles")) self.calendar.add_child(instance=page) page.save_revision().publish() gev = SimpleGEvent.fromPage(page) self.assertEqual(gev['dates'], "20140730T130000/20140730T160000") self.assertEqual(gev['ctz'], "America/Los_Angeles")
class TestMultidayRecurring(TestCase): def setUp(self): site = Site.objects.get(is_default_site=True) site.hostname = "joy.test" site.save() self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() @freeze_time("2017-08-15") def testFromPage(self): page = MultidayRecurringEventPage(owner=self.user, slug="bought-from-rubber-man", title="Bought from a Rubber Man", repeat=Recurrence(dtstart=dt.date( 2019, 4, 2), freq=WEEKLY, byweekday=[TU]), num_days=3, time_from=dt.time(16), time_to=dt.time(18), tz=pytz.timezone("Pacific/Auckland")) self.calendar.add_child(instance=page) page.save_revision().publish() vev = VEventFactory().makeFromPage(page) self.assertIs(type(vev), MultidayRecurringVEvent) tz = pytz.timezone("Pacific/Auckland") self.assertEqual(vev['DTSTART'].dt, tz.localize(dt.datetime(2019, 4, 2, 16, 0))) self.assertEqual(vev['DTEND'].dt, tz.localize(dt.datetime(2019, 4, 4, 18, 0))) self.assertEqual(vev['RRULE']['FREQ'], ["WEEKLY"]) self.assertEqual(vev['RRULE']['BYDAY'], ["TU"])
class Test40Day(TestCase): def setUp(self): self.user = User.objects.create_user('i', '*****@*****.**', 's3cr3t') self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") Page.objects.get(slug='home').add_child(instance=self.calendar) self.calendar.save() self.calendar.save_revision().publish() self.event = MultidayRecurringEventPage( owner=self.user, slug="ice-festival", title="Ice Festival", repeat=Recurrence(dtstart=dt.date(2000, 12, 25), until=dt.date(2020, 1, 31), freq=YEARLY, bymonth=12, byweekday=MO(4)), num_days=40) self.calendar.add_child(instance=self.event) self.event.save_revision().publish() def testGetEventsByDay(self): events = MultidayRecurringEventPage.events.byDay( dt.date(2020, 1, 1), dt.date(2020, 1, 31)) self.assertEqual(len(events), 31) evod = events[0] self.assertEqual(evod.date, dt.date(2020, 1, 1)) self.assertEqual(len(evod.days_events), 0) self.assertEqual(len(evod.continuing_events), 1) thisEvent = evod.continuing_events[0] self.assertEqual(thisEvent.title, "Ice Festival") evod = events[10] self.assertEqual(evod.date, dt.date(2020, 1, 11)) self.assertEqual(len(evod.continuing_events), 1) thisEvent = evod.continuing_events[0] self.assertEqual(thisEvent.title, "Ice Festival") def testStatus(self): with freeze_timetz("2019-12-20 13:00:00"): self.assertEqual(self.event.status_text, "") with freeze_timetz("2020-01-02 13:00:00"): self.assertEqual(self.event.status_text, "This event has started.") with freeze_timetz("2020-02-03 17:00:00"): self.assertEqual(self.event.status_text, "These events have finished.") def testAt(self): self.assertEqual(self.event.at.strip(), "") @freeze_timetz("2035-04-03 10:00:00") def testNextDate(self): self.assertEqual(self.event.next_date, None) @freeze_timetz("2035-04-03 10:00:00") def testPrevDate(self): self.assertEqual(self.event.prev_date, dt.date(2019, 12, 23))
def setUp(self): Site.objects.update(hostname="joy.test") self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(R3t') self.requestFactory = RequestFactory() self.calendar = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.dicerun = SimpleEventPage(owner=self.user, slug="mercy-dice-run", title="Mercy Dice Run", date=dt.date(2020, 3, 16), location="Newtown") self.calendar.add_child(instance=self.dicerun) self.dicerun.save_revision().publish() event = SimpleEventPage(owner=self.user, slug="workshop", title="Workshop", date=dt.date(2020, 3, 22)) self.calendar.add_child(instance=event) event.save_revision().publish() self.handler = ICalHandler()
def setUp(self): translation.activate('de') self.home = Page.objects.get(slug='home') self.user = User.objects.create_user('i', '*****@*****.**', 's3(r3t') self.calendar = CalendarPage(owner = self.user, slug = "ereignisse", title = "Ereignisse") self.home.add_child(instance=self.calendar) self.calendar.save_revision().publish() self.event = RecurringEventPage(slug = "meeting", title = "Testen Sie Meeting", repeat = Recurrence(dtstart=dt.date(1988,1,1), freq=WEEKLY, byweekday=[MO,WE,FR]), time_from = dt.time(13), time_to = dt.time(15,30)) self.calendar.add_child(instance=self.event) self.info = ExtraInfoPage(owner = self.user, overrides = self.event, except_date = dt.date(1999,1,5), extra_title = "Freitag", extra_information = "Besonderer Freitag") self.event.add_child(instance=self.info) self.info.save_revision().publish()
class TestCalendarPageForm(TestCase): def setUp(self): self.user = User.objects.create_superuser('i', '*****@*****.**', 's3(r3t') self.request = RequestFactory().get("/test") self.request.user = self.user self.request.session = {} self.home = Page.objects.get(slug='home') self.page = CalendarPage(owner=self.user, slug="events", title="Events") self.home.add_child(instance=self.page) self.page.save_revision().publish() def testImportPanel(self): CalendarPageForm.registerImportHandler(Mock()) panel = CalendarPage.settings_panels[-1] self.assertFalse(panel._show()) panel.instance = self.page panel.request = self.request self.assertFalse(panel._show()) setattr(self.page, '__joyous_edit_request', self.request) self.assertTrue(panel._show()) delattr(self.page, '__joyous_edit_request') def testSave(self): Form = get_form_for_model(CalendarPage, form_class=CalendarPageForm) setattr(self.page, '__joyous_edit_request', self.request) form = Form(instance=self.page, parent_page=self.home) handler = Mock() CalendarPageForm.registerImportHandler(handler) form.cleaned_data = {'utc2local': True, 'upload': "FILE"} form.save() handler.load.assert_called_with(self.page, self.request, "FILE", utc2local=True)