blob: a07f1342e2974d626c75a5c9befd1081af7c12cf [file] [log] [blame]
Serge Bazanski8ef457f2021-07-11 14:42:38 +00001package calendar
2
3import (
4 "os"
5 "testing"
6 "time"
7
8 "github.com/google/go-cmp/cmp"
9)
10
11func TestUpcomingEvents(t *testing.T) {
12 r, err := os.Open("test.ical")
13 if err != nil {
14 t.Fatalf("Could not open test ical: %v", err)
15 }
16 ti := time.Unix(1626011785, 0)
17
18 events, err := parseUpcomingEvents(ti, r)
19 if err != nil {
20 t.Fatalf("getUpcomingEvents: %v", err)
21 }
22
23 want := []*UpcomingEvent{
24 {
25 UID: "65cd51ba-2fd7-475e-a274-61d19c186b66",
26 Summary: "test event please ignore",
27 Start: &EventTime{
28 Time: time.Unix(1626091200, 0),
29 },
30 End: &EventTime{
31 Time: time.Unix(1626093000, 0),
32 },
33 },
34 {
35 UID: "2f874784-1e09-4cdc-8ae6-185c9ee36be0",
36 Summary: "many days",
37 Start: &EventTime{
38 Time: time.Unix(1626134400, 0),
39 WholeDay: true,
40 },
41 End: &EventTime{
42 Time: time.Unix(1626393600, 0),
43 WholeDay: true,
44 },
45 },
46 }
47
48 if diff := cmp.Diff(events, want); diff != "" {
49 t.Errorf("%s", diff)
50 }
51}