mirror of
https://github.com/lidarr/Lidarr
synced 2024-12-28 02:27:13 +00:00
84 lines
No EOL
3.3 KiB
C#
84 lines
No EOL
3.3 KiB
C#
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<IConfigService>()
|
||
.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);
|
||
}
|
||
}
|
||
} |