mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
* Add event end time to gcal module display * Add settings for showing end time and add test coverage * go mod tidy
59 lines
1.9 KiB
Go
59 lines
1.9 KiB
Go
package gcal
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/wtfutil/wtf/cfg"
|
|
"google.golang.org/api/calendar/v3"
|
|
)
|
|
|
|
func Test_display_content(t *testing.T) {
|
|
startTime := &calendar.EventDateTime{DateTime: "1986-04-19T01:00:00.00Z"}
|
|
endTime := &calendar.EventDateTime{DateTime: "1986-04-19T02:00:00.00Z"}
|
|
event := &calendar.Event{Summary: "Foo", Start: startTime, End: endTime}
|
|
|
|
testCases := []struct {
|
|
descriptionWanted string
|
|
events []*CalEvent
|
|
name string
|
|
settings *Settings
|
|
}{
|
|
{
|
|
name: "Event content without any events",
|
|
settings: &Settings{common: &cfg.Common{}},
|
|
events: nil,
|
|
descriptionWanted: "No calendar events",
|
|
},
|
|
{
|
|
name: "Event content with a single event, without end times displayed",
|
|
settings: &Settings{common: &cfg.Common{}, showEndTime: false},
|
|
events: []*CalEvent{NewCalEvent(event)},
|
|
descriptionWanted: "[]Saturday, Apr 19\n []01:00 []Foo[white]\n \n",
|
|
},
|
|
{
|
|
name: "Event content with a single event without showEndTime explictily set in settings",
|
|
settings: &Settings{common: &cfg.Common{}},
|
|
events: []*CalEvent{NewCalEvent(event)},
|
|
descriptionWanted: "[]Saturday, Apr 19\n []01:00 []Foo[white]\n \n",
|
|
},
|
|
{
|
|
name: "Event content with a single event with end times displayed",
|
|
settings: &Settings{common: &cfg.Common{}, showEndTime: true},
|
|
events: []*CalEvent{NewCalEvent(event)},
|
|
descriptionWanted: "[]Saturday, Apr 19\n []01:00-02:00 []Foo[white]\n \n",
|
|
},
|
|
}
|
|
|
|
for _, tt := range testCases {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
w := &Widget{calEvents: tt.events, settings: tt.settings, err: nil}
|
|
_, description, err := w.content()
|
|
|
|
assert.Equal(t, false, err, tt.name)
|
|
assert.Equal(t, tt.descriptionWanted, description, tt.name)
|
|
})
|
|
}
|
|
|
|
}
|