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 EpisodeIntegrationTests : IntegrationTest { private SeriesResource series; [SetUp] public void Setup() { series = GivenSeriesWithEpisodes(); } private SeriesResource GivenSeriesWithEpisodes() { var newSeries = Series.Lookup("archer").First(); newSeries.ProfileId = 1; newSeries.Path = @"C:\Test\Archer".AsOsAgnostic(); newSeries = Series.Post(newSeries); while (true) { if (Episodes.GetEpisodesInSeries(newSeries.Id).Count > 0) { return newSeries; } Thread.Sleep(1000); } } [Test] public void should_be_able_to_get_all_episodes_in_series() { Episodes.GetEpisodesInSeries(series.Id).Count.Should().BeGreaterThan(0); } [Test] public void should_be_able_to_get_a_single_episode() { var episodes = Episodes.GetEpisodesInSeries(series.Id); Episodes.Get(episodes.First().Id).Should().NotBeNull(); } [Test] public void should_be_able_to_set_monitor_status() { var episodes = Episodes.GetEpisodesInSeries(series.Id); var updatedEpisode = episodes.First(); updatedEpisode.Monitored = false; Episodes.Put(updatedEpisode).Monitored.Should().BeFalse(); } [TearDown] public void TearDown() { Series.Delete(series.Id); Thread.Sleep(2000); } } }