Add tests for status and url

pull/92/head
Brian Hartvigsen 2021-10-30 17:24:26 -06:00
rodzic d92a2eb735
commit 0edd8b9d19
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 61B372B8BA3D83E1
3 zmienionych plików z 58 dodań i 2 usunięć

Wyświetl plik

@ -143,6 +143,7 @@ class Event:
ne.created = self.created
ne.last_modified = self.last_modified
ne.categories = self.categories
ne.status = self.status
ne.url = self.url
return ne
@ -231,10 +232,10 @@ def create_event(component, tz=UTC):
event.categories = encoded_categories
if component.get("status"):
event.status = component.get("status")
event.status = encode(component.get("status"))
if component.get("url"):
event.url = component.get("url")
event.url = encode(component.get("url"))
return event

Wyświetl plik

@ -0,0 +1,41 @@
BEGIN:VCALENDAR
BEGIN:VTIMEZONE
TZID:Europe/Berlin
END:VTIMEZONE
BEGIN:VEVENT
DESCRIPTION:Event with Status and URL
SUMMARY:Tentative Event w/ Recurrance to test copy
STATUS:TENTATIVE
DTSTART;VALUE=DATE:20181030
DTEND;VALUE=DATE:20181031
RRULE:FREQ=WEEKLY;BYDAY=TU
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Event with Status and URL
SUMMARY:Confirmed Event
STATUS:CONFIRMED
URL:https://example.com/
DTSTART;VALUE=DATE:20181030
DTEND;VALUE=DATE:20181031
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Event with Status
SUMMARY:Cancelled Event
STATUS:CANCELLED
DTSTART;VALUE=DATE:20181030
DTEND;VALUE=DATE:20181031
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Event with Status
SUMMARY:XPARAM Event
STATUS;X-SOMETHING=IGNOREME:CANCELLED
DTSTART;VALUE=DATE:20181030
DTEND;VALUE=DATE:20181031
END:VEVENT
BEGIN:VEVENT
DESCRIPTION:Event without Status
SUMMARY:Event
DTSTART;VALUE=DATE:20181030
DTEND;VALUE=DATE:20181031
END:VEVENT
END:VCALENDAR

Wyświetl plik

@ -421,3 +421,17 @@ class ICalEventsTests(unittest.TestCase):
self.assertEqual(e1.transparent, True, "respect transparency")
self.assertEqual(e2.transparent, False, "respect opaqueness")
def test_status_and_url(self):
ical = "test/test_data/status_and_url.ics"
start = date(2018, 10, 30)
end = date(2018, 10, 31)
[ev1, ev2, ev3, ev4, ev5] = icalevents.events(file=ical, start=start, end=end)
self.assertEqual(ev1.status, "TENTATIVE")
self.assertEqual(ev1.url, None)
self.assertEqual(ev2.status, "CONFIRMED")
self.assertEqual(ev2.url, "https://example.com/")
self.assertEqual(ev3.status, "CANCELLED")
self.assertEqual(ev4.status, "CANCELLED")
self.assertEqual(ev5.status, None)