public async Task ShouldProduceSeasonExtendedInfo() { // Arrange var seriesId = GetSeriesIdentifier(KnownTvShowIds.StarWarsTheBadBatch); var authToken = await GetAuthTokenAsync(); var sut = CreateDownloader(); var seriesJson = await sut.GetSeriesExtendedAsync(seriesId, authToken, null); TheTvDbApiResponse <SeriesExtendedRecord> series = JsonConvert.DeserializeObject <TheTvDbApiResponse <SeriesExtendedRecord> >(seriesJson); var season = series.Data.Seasons.First(x => x.Number == 1 && x.Name == "Aired Order"); // Act var actual = await sut.GetSeasonExtendedAsync(season.Id, authToken, null); // Assert Assert.That(actual, Is.Not.Null); Assert.That(actual, Is.Not.Empty); TheTvDbApiResponse <SeasonExtendedRecord> response = JsonConvert.DeserializeObject <TheTvDbApiResponse <SeasonExtendedRecord> >(actual); Assert.That(response, Is.Not.Null); Assert.That(response.Status, Is.EqualTo("success")); Assert.That(response.Data, Is.Not.Null); Assert.That(response.Data.Id, Is.Not.Null); Assert.That(response.Data.SeriesId, Is.EqualTo(long.Parse(KnownTvShowIds.StarWarsTheBadBatch.ToString("D")))); Assert.That(response.Data.Id, Is.EqualTo(season.Id)); }
public async Task ShouldProduceEpisodeTranslation() { // Arrange var seriesId = GetSeriesIdentifier(KnownTvShowIds.StarWarsTheBadBatch); var authToken = await GetAuthTokenAsync(); var sut = CreateDownloader(); var seriesJson = await sut.GetSeriesExtendedAsync(seriesId, authToken, null); TheTvDbApiResponse <SeriesExtendedRecord> series = JsonConvert.DeserializeObject <TheTvDbApiResponse <SeriesExtendedRecord> >(seriesJson); var season = series.Data.Seasons.First(x => x.Number == 1 && x.Name == "Aired Order"); var seasonJson = await sut.GetSeasonExtendedAsync(season.Id, authToken, null); TheTvDbApiResponse <SeasonExtendedRecord> seasonEx = JsonConvert.DeserializeObject <TheTvDbApiResponse <SeasonExtendedRecord> >(seasonJson); var episode = seasonEx.Data.Episodes.First(x => x.Number == 1); // Act var actual = await sut.GetEpisodeTranslationAsync(episode.Id, "eng", authToken, null); // Assert Assert.That(actual, Is.Not.Null); Assert.That(actual, Is.Not.Empty); TheTvDbApiResponse <Translation> response = JsonConvert.DeserializeObject <TheTvDbApiResponse <Translation> >(actual); Assert.That(response, Is.Not.Null); Assert.That(response.Status, Is.EqualTo("success")); Assert.That(response.Data, Is.Not.Null); Assert.That(response.Data.Overview, Is.Not.Null); Assert.That(response.Data.Overview, Is.Not.Empty); }
public async Task ShouldProduceSearchResults() { // Arrange var searchParams = new SeriesSearchParams { Name = "The Bad Batch" }; var authToken = await GetAuthTokenAsync(); var sut = CreateDownloader(); // Act var actual = await sut.GetSeriesSearchResultsAsync(searchParams, authToken, null); // Assert Assert.That(actual, Is.Not.Null); Assert.That(actual, Is.Not.Empty); TheTvDbApiResponse <List <SearchResult> > response = JsonConvert.DeserializeObject <TheTvDbApiResponse <List <SearchResult> > >(actual); Assert.That(response, Is.Not.Null); Assert.That(response.Status, Is.EqualTo("success")); Assert.That(response.Data, Is.Not.Null); Assert.That(response.Data, Has.Count.GreaterThan(0)); Assert.That(response.Data[0], Is.Not.Null); Assert.That(response.Data[0].Name, Is.Not.Null); Assert.That(response.Data[0].Name, Is.Not.Empty); Assert.That(response.Data[0].Name, Is.EqualTo("The Bad Batch")); Assert.That(response.Data[0].Type, Is.Not.Null); Assert.That(response.Data[0].Type, Is.Not.Empty); Assert.That(response.Data[0].Type, Is.EqualTo("series")); Assert.That(response.Data[0].TheTvDbId, Is.Not.Null); Assert.That(response.Data[0].TheTvDbId, Is.Not.Empty); Assert.That(response.Data[0].TheTvDbId, Is.EqualTo("385376")); Assert.That(response.Data[0].Id, Is.Not.Null); Assert.That(response.Data[0].Id, Is.Not.Empty); Assert.That(response.Data[0].Id, Is.EqualTo("series-385376")); }
public async Task LoginShouldReturnToken() { // Arrange var configurationValues = new TheTvDbConfigurationValuesV4(new TestConfigurationValues()); var sut = new TheTvDbApiDownloaderV4(configurationValues, new HttpDownloader()); // Act var actual = await sut.GetAuthTokenAsync(null); // Assert Assert.That(actual, Is.Not.Null); Assert.That(actual, Is.Not.Empty); TheTvDbApiResponse <TheTvDbAuthToken> response = JsonConvert.DeserializeObject <TheTvDbApiResponse <TheTvDbAuthToken> >(actual); Assert.That(response, Is.Not.Null); Assert.That(response.Status, Is.EqualTo("success")); Assert.That(response.Data, Is.Not.Null); Assert.That(response.Data.Token, Is.Not.Null); Assert.That(response.Data.Token, Is.Not.Empty); Console.WriteLine(response.Data.Token); }