using System; using System.Threading; using FluentAssertions; using NUnit.Framework; using NzbDrone.Api.Series; using System.Linq; using NzbDrone.Test.Common; namespace NzbDrone.Integration.Test { [TestFixture] public class SeasonIntegrationTests : IntegrationTest { private SeriesResource GivenSeriesWithEpisodes() { var series = Series.Lookup("archer").First(); series.QualityProfileId = 1; series.Path = @"C:\Test\Archer".AsOsAgnostic(); series = Series.Post(series); while (true) { if (Seasons.GetSeasonsInSeries(series.Id).Count > 0) { return series; } Thread.Sleep(1000); } } [Test] public void should_be_able_to_get_all_seasons_in_series() { var series = GivenSeriesWithEpisodes(); Seasons.GetSeasonsInSeries(series.Id).Count.Should().BeGreaterThan(0); } [Test] public void should_be_able_to_get_a_single_season() { var series = GivenSeriesWithEpisodes(); var seasons = Seasons.GetSeasonsInSeries(series.Id); Seasons.Get(seasons.First().Id).Should().NotBeNull(); } [Test] public void should_be_able_to_set_monitor_status_via_api() { var series = GivenSeriesWithEpisodes(); var seasons = Seasons.GetSeasonsInSeries(series.Id); var updatedSeason = seasons.First(); updatedSeason.Monitored = false; Seasons.Put(updatedSeason).Monitored.Should().BeFalse(); } } }