|
|
|
|
using System.Linq;
|
|
|
|
|
using FizzWare.NBuilder;
|
|
|
|
|
using FluentAssertions;
|
|
|
|
|
using Moq;
|
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
using NzbDrone.Core.Configuration;
|
|
|
|
|
using NzbDrone.Core.Tv;
|
|
|
|
|
using NzbDrone.Core.Providers.Core;
|
|
|
|
|
using NzbDrone.Core.Test.Framework;
|
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Core.Test.TvTests
|
|
|
|
|
{
|
|
|
|
|
[TestFixture]
|
|
|
|
|
public class SeriesProviderTest : CoreTest<SeriesService>
|
|
|
|
|
{
|
|
|
|
|
private Mock<ISeriesRepository> Repo;
|
|
|
|
|
|
|
|
|
|
private Series fakeSeries;
|
|
|
|
|
|
|
|
|
|
[SetUp]
|
|
|
|
|
public void Setup()
|
|
|
|
|
{
|
|
|
|
|
Repo = Mocker.GetMock<ISeriesRepository>();
|
|
|
|
|
fakeSeries = Builder<Series>.CreateNew().Build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void Add_new_series()
|
|
|
|
|
{
|
|
|
|
|
const string path = "C:\\Test\\";
|
|
|
|
|
const string title = "Test Title";
|
|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
Mocker.GetMock<ConfigService>()
|
|
|
|
|
.Setup(c => c.UseSeasonFolder).Returns(useSeasonFolder);
|
|
|
|
|
|
|
|
|
|
const string path = "C:\\Test\\";
|
|
|
|
|
const string title = "Test Title";
|
|
|
|
|
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.SeasonFolder = useSeasonFolder;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Test]
|
|
|
|
|
public void is_monitored()
|
|
|
|
|
{
|
|
|
|
|
Repo.Setup(c => c.Get(12))
|
|
|
|
|
.Returns(fakeSeries);
|
|
|
|
|
|
|
|
|
|
fakeSeries.Monitored = true;
|
|
|
|
|
|
|
|
|
|
Subject.IsMonitored(12).Should().Be(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} |