public void Should_add_all_episodes_for_first_show() { _tvMazeService.GetEpisodes(555).Returns(CreateEpisodeList1()); _service.UpdateEpisodesForSubscription(_subscription1); _tvMazeService.Received().GetEpisodes(555); _episodeCommandDataSource.Received().SaveEpisode(Arg.Is <Episode>(s => s.SubscriptionId == 1 && s.SeasonNumber == 2 && s.EpisodeNumber == 3 && s.Title == "Stuff happened" && s.AirDate == DateTime.Now.AddDays(2).Date)); _episodeCommandDataSource.Received().SaveEpisode(Arg.Is <Episode>(s => s.SubscriptionId == 1 && s.SeasonNumber == 2 && s.EpisodeNumber == 4 && s.Title == "Stuff didn't happen" && s.AirDate == DateTime.Now.AddDays(-1).Date)); _episodeCommandDataSource.Received().SaveEpisode(Arg.Is <Episode>(s => s.SubscriptionId == 1 && s.SeasonNumber == 2 && s.EpisodeNumber == 0 && s.Title == "Special stuff" && s.AirDate == DateTime.Now.AddDays(1).Date)); }
public DateTime?UpdateEpisodesForSubscription(Subscription subscription) { var episodeList = _tvMazeService.GetEpisodes(subscription.TvShowId); var newEpisodes = CreateEpisodes(episodeList, subscription.Id, subscription.LastAirDate); SaveEpisodes(newEpisodes); return(GetLastAirDateForNewEpisodes(newEpisodes)); }