sonarr-repo-only/NzbDrone.Core.Test/TvTests/SeriesProviderTest.cs

84 lines
3.3 KiB
C#
Raw Normal View History

using System.Linq;
2011-05-22 16:53:21 +00:00
using FizzWare.NBuilder;
2011-06-02 21:06:46 +00:00
using FluentAssertions;
using Moq;
2011-06-02 21:06:46 +00:00
using NUnit.Framework;
2013-02-24 06:48:52 +00:00
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Tv;
2011-06-15 02:31:41 +00:00
using NzbDrone.Core.Providers.Core;
using NzbDrone.Core.Test.Framework;
2011-05-22 16:53:21 +00:00
namespace NzbDrone.Core.Test.TvTests
2011-05-22 16:53:21 +00:00
{
[TestFixture]
public class SeriesProviderTest : CoreTest<SeriesService>
2011-05-22 16:53:21 +00:00
{
private Mock<ISeriesRepository> Repo;
private Series fakeSeries;
2012-10-14 00:54:46 +00:00
[SetUp]
public void Setup()
{
Repo = Mocker.GetMock<ISeriesRepository>();
fakeSeries = Builder<Series>.CreateNew().Build();
2012-10-14 00:54:46 +00:00
}
[Test]
public void Add_new_series()
2011-05-22 16:53:21 +00:00
{
const string path = "C:\\Test\\";
2012-02-29 08:25:41 +00:00
const string title = "Test Title";
2011-05-22 16:53:21 +00:00
const int tvDbId = 1234;
const int qualityProfileId = 2;
Series insertedModel = null;
Repo.Setup(c => c.Insert(It.IsAny<Series>()))
.Callback<Series>(c => insertedModel = c);
Subject.AddSeries(title, path, tvDbId, qualityProfileId, null);
insertedModel.Should().NotBeNull();
insertedModel.Path.Should().Be(path);
insertedModel.SeriesId.Should().Be(tvDbId);
insertedModel.QualityProfileId.Should().Be(qualityProfileId);
insertedModel.Title.Should().Be(title);
}
[TestCase(true)]
[TestCase(false)]
public void Add_new_series_should_use_config_for_season_folders(bool useSeasonFolder)
2011-05-22 16:53:21 +00:00
{
2013-02-24 19:39:31 +00:00
Mocker.GetMock<IConfigService>()
.Setup(c => c.UseSeasonFolder).Returns(useSeasonFolder);
2011-05-22 16:53:21 +00:00
const string path = "C:\\Test\\";
const string title = "Test Title";
const int tvDbId = 1234;
const int qualityProfileId = 2;
2011-12-15 04:29:21 +00:00
Series insertedModel = null;
2011-12-15 04:29:21 +00:00
Repo.Setup(c => c.Insert(It.IsAny<Series>()))
.Callback<Series>(c => insertedModel = c);
Subject.AddSeries(title, path, tvDbId, qualityProfileId, null);
2011-05-22 16:53:21 +00:00
insertedModel.SeasonFolder = useSeasonFolder;
2011-05-22 16:53:21 +00:00
}
[Test]
public void is_monitored()
{
Repo.Setup(c => c.Get(12))
.Returns(fakeSeries);
fakeSeries.Monitored = true;
Subject.IsMonitored(12).Should().Be(true);
}
2011-05-22 16:53:21 +00:00
}
}