func TestPendingItems(t *testing.T) { show := store.Show{} episodes := []*store.Episode{ {Pending: true}, {Pending: true}, {Pending: true}, } season1 := store.Season{Season: 1, Episodes: episodes} show.Seasons = append(show.Seasons, &season1) if len(show.PendingSeasons()) != 0 { t.Error("All episodes are pending but it's from the last seasons thus no seasons should be returned, got:", len(show.PendingSeasons())) } if len(show.PendingEpisodes()) != 3 { t.Error("All episodes are pending, got:", len(show.PendingEpisodes())) } episodes = []*store.Episode{ {Pending: true}, {Pending: true}, } season2 := store.Season{Season: 2, Episodes: episodes} show.Seasons = append(show.Seasons, &season2) if len(show.PendingSeasons()) != 1 { t.Error("Expected 2 items representing the episodes of the last season and 1 item representing the first season.") } if len(show.PendingEpisodes()) != 2 { t.Error("Expected 2 items representing the episodes of the last season and 1 item representing the first season.") } }
func addSeason(show *store.Show, season Season) { newSeason := store.Season{ Season: season.Season, } for _, episode := range season.Episodes { newEpisode := store.Episode{ Episode: episode.Episode, AirDate: episode.AirDate, Title: episode.Title, Pending: true, } newSeason.Episodes = append(newSeason.Episodes, &newEpisode) } show.Seasons = append(show.Seasons, &newSeason) }