Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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"));
        }
Beispiel #4
0
        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);
        }