Skip to content
Snippets Groups Projects
Commit f7f18df7 authored by OndraRehounek's avatar OndraRehounek
Browse files

calendar_utils: WIP most tests fixed

parent 9795ca99
No related branches found
No related tags found
2 merge requests!496Release,!488calendar_utils: Replace ics library with icalevnt
Pipeline #7958 passed
...@@ -38,13 +38,13 @@ def set_event_duration(event: "Event") -> "Event": ...@@ -38,13 +38,13 @@ def set_event_duration(event: "Event") -> "Event":
delta = event.end - event.start delta = event.end - event.start
if delta.days < 1: if delta.days < 1:
start = event.start.strftime("%H:%M") # .to(settings.TIME_ZONE).format("H:mm") begin = arrow.get(event.start).to(settings.TIME_ZONE).format("H:mm")
end = event.end.strftime("%H:%M") end = arrow.get(event.end).to(settings.TIME_ZONE).format("H:mm")
event.duration = f"{start} - {end}" event.duration = f"{begin} - {end}"
else: else:
start = event.start.strftime("%H:%M") begin = arrow.get(event.start).to(settings.TIME_ZONE).format("H:mm")
end = event.end.strftime("%H:%M") end = arrow.get(event.end).to(settings.TIME_ZONE).format("H:mm (D.M.)")
event.duration = f"{start} - {end}" event.duration = f"{begin} - {end}"
return event return event
......
...@@ -49,17 +49,17 @@ def test_calendar__update_source__unchanged_source(sample, mocker): ...@@ -49,17 +49,17 @@ def test_calendar__update_source__unchanged_source(sample, mocker):
def test_calendar__save_and_load_events(): def test_calendar__save_and_load_events():
past_events = [ past_events = [
{ {
"begin": fake.date_time(tzinfo=pytz.UTC), "start": fake.date_time(tzinfo=pytz.UTC),
"end": fake.date_time(tzinfo=pytz.UTC), "end": fake.date_time(tzinfo=pytz.UTC),
}, },
{ {
"begin": fake.date_time(tzinfo=pytz.UTC), "start": fake.date_time(tzinfo=pytz.UTC),
"end": fake.date_time(tzinfo=pytz.UTC), "end": fake.date_time(tzinfo=pytz.UTC),
}, },
] ]
future_events = [ future_events = [
{ {
"begin": fake.date_time(tzinfo=pytz.UTC), "start": fake.date_time(tzinfo=pytz.UTC),
"end": fake.date_time(tzinfo=pytz.UTC), "end": fake.date_time(tzinfo=pytz.UTC),
}, },
] ]
......
from datetime import datetime
import arrow import arrow
import pytest import pytest
from icalevnt.icalparser import Event
from zoneinfo import ZoneInfo
from calendar_utils.parser import ( from calendar_utils.parser import set_event_duration # process_ical,; split_events,
parse_ical,
process_ical,
remove_alarms,
set_event_duration,
split_events,
)
def test_parse_ical(sample, snapshot):
events = parse_ical(sample)
snapshot.assert_match(events)
#
@pytest.mark.freeze_time("2020-02-02") # @pytest.mark.freeze_time("2020-02-02")
def test_split_events(sample, snapshot): # def test_split_events(sample, snapshot):
past_events, future_events = split_events(parse_ical(sample)) # past_events, future_events = split_events(parse_ical(sample))
snapshot.assert_match(past_events) # snapshot.assert_match(past_events)
snapshot.assert_match(future_events) # snapshot.assert_match(future_events)
def test_set_event_duration__all_day(): def test_set_event_duration__all_day():
event = { event = Event()
"begin": arrow.get("2020-02-03T00:00:00Z"), event.start = datetime.fromisoformat("2020-02-03T00:00:00+00:00")
"end": arrow.get("2020-02-04T00:00:00Z"), event.end = datetime.fromisoformat("2020-02-04T00:00:00+00:00")
"all_day": True, event.all_day = True
}
out = set_event_duration(event) out = set_event_duration(event)
assert out["duration"] == "celý den" assert out.duration == "celý den"
def test_set_event_duration__hours(): def test_set_event_duration__hours():
event = { event = Event()
"begin": arrow.get("2020-02-03T08:00:00Z"), event.start = datetime.fromisoformat("2020-02-03T08:00:00+00:00")
"end": arrow.get("2020-02-03T12:25:00Z"), event.end = datetime.fromisoformat("2020-02-03T12:25:00+00:00")
"all_day": False, event.all_day = False
}
out = set_event_duration(event) out = set_event_duration(event)
assert out["duration"] == "9:00 - 13:25" assert out.duration == "9:00 - 13:25"
def test_set_event_duration__days(): def test_set_event_duration__days():
event = { event = Event()
"begin": arrow.get("2020-02-03T09:15:00Z"), event.start = datetime.fromisoformat("2020-02-03T09:15:00+00:00")
"end": arrow.get("2020-02-04T22:30:00Z"), event.end = datetime.fromisoformat("2020-02-04T21:30:00+00:00")
"all_day": False, event.all_day = False
}
out = set_event_duration(event)
assert out["duration"] == "10:15 - 23:30 (4.2.)"
out = set_event_duration(event)
@pytest.mark.freeze_time("2020-02-02") assert out.duration == "10:15 - 22:30 (4.2.)"
def test_process_ical(sample, snapshot):
past_events, future_events = process_ical(sample)
snapshot.assert_match(past_events)
snapshot.assert_match(future_events)
def test_remove_alarms(snapshot): # @pytest.mark.freeze_time("2020-02-02")
source = ( # def test_process_ical(sample, snapshot):
"BEGIN:VEVENT\ncontent\nBEGIN:VALARM\nalarm\nEND:VALARM\nEND:VEVENT\n" # past_events, future_events = process_ical(sample)
"BEGIN:VEVENT\nother event\nBEGIN:VALARM\nnoooo\nEND:VALARM\nEND:VEVENT" # snapshot.assert_match(past_events)
) # snapshot.assert_match(future_events)
expected = (
"BEGIN:VEVENT\ncontent\nEND:VEVENT\nBEGIN:VEVENT\nother event\nEND:VEVENT"
)
assert remove_alarms(source) == expected
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment