diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index a2102d120..e2ddef8d9 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -1,4 +1,4 @@ - + Debug @@ -154,6 +154,7 @@ + diff --git a/NzbDrone.Core.Test/TvTests/EpisodeRepositoryTests/EpisodesWithoutFilesFixture.cs b/NzbDrone.Core.Test/TvTests/EpisodeRepositoryTests/EpisodesWithoutFilesFixture.cs new file mode 100644 index 000000000..a487bace7 --- /dev/null +++ b/NzbDrone.Core.Test/TvTests/EpisodeRepositoryTests/EpisodesWithoutFilesFixture.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using FizzWare.NBuilder; +using FluentAssertions; +using NUnit.Framework; +using NzbDrone.Core.Test.Framework; +using NzbDrone.Core.Tv; + +namespace NzbDrone.Core.Test.TvTests.EpisodeRepositoryTests +{ + [TestFixture] + public class EpisodesWithoutFilesFixture : DbTest + { + [SetUp] + public void Setup() + { + var series = Builder.CreateNew() + .With(s => s.Id = 0) + .With(s => s.Runtime = 30) + .Build(); + + series.Id = Db.Insert(series).Id; + + var episodes = Builder.CreateListOfSize(2) + .All() + .With(e => e.Id = 0) + .With(e => e.SeriesId = series.Id) + .With(e => e.EpisodeFileId = 0) + .TheLast(1) + .With(e => e.SeasonNumber = 0) + .Build(); + + Db.InsertMany(episodes); + } + + [Test] + public void should_get_episodes() + { + var episodes = Subject.EpisodesWithoutFiles(false); + episodes.Should().HaveCount(1); + } + + [Test] + public void should_get_episode_including_specials() + { + var episodes = Subject.EpisodesWithoutFiles(true); + episodes.Should().HaveCount(2); + } + } +} diff --git a/NzbDrone.Core/Tv/Episode.cs b/NzbDrone.Core/Tv/Episode.cs index bb246d447..3b78a281c 100644 --- a/NzbDrone.Core/Tv/Episode.cs +++ b/NzbDrone.Core/Tv/Episode.cs @@ -14,8 +14,6 @@ namespace NzbDrone.Core.Tv public int SeasonNumber { get; set; } public int EpisodeNumber { get; set; } public string Title { get; set; } - - //Todo: Since we're displaying next airing relative to the user's time zone we may want to store this as UTC (with airtime + UTC offset) public DateTime? AirDate { get; set; } public string Overview { get; set; } diff --git a/NzbDrone.Core/Tv/EpisodeRepository.cs b/NzbDrone.Core/Tv/EpisodeRepository.cs index 5dcb0e297..63d2a8d52 100644 Binary files a/NzbDrone.Core/Tv/EpisodeRepository.cs and b/NzbDrone.Core/Tv/EpisodeRepository.cs differ