parent
065b86c159
commit
c6836e0cb1
@ -1,95 +0,0 @@
|
||||
// ReSharper disable RedundantUsingDirective
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Test.Common.AutoMoq;
|
||||
|
||||
namespace NzbDrone.Core.Test.ProviderTests
|
||||
{
|
||||
[TestFixture]
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class QualityTypeProviderTest : SqlCeTest
|
||||
{
|
||||
[SetUp]
|
||||
public void SetuUp()
|
||||
{
|
||||
WithRealDb();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SetupDefault_should_add_all_profiles()
|
||||
{
|
||||
Mocker.Resolve<QualityTypeProvider>();
|
||||
|
||||
|
||||
var types = Mocker.Resolve<QualityTypeProvider>().All();
|
||||
|
||||
types.Should().HaveCount(10);
|
||||
types.Should().Contain(e => e.Name == "SDTV" && e.QualityTypeId == 1);
|
||||
types.Should().Contain(e => e.Name == "DVD" && e.QualityTypeId == 2);
|
||||
types.Should().Contain(e => e.Name == "WEBDL-480p" && e.QualityTypeId == 8);
|
||||
types.Should().Contain(e => e.Name == "HDTV-720p" && e.QualityTypeId == 4);
|
||||
types.Should().Contain(e => e.Name == "HDTV-1080p" && e.QualityTypeId == 9);
|
||||
types.Should().Contain(e => e.Name == "Raw-HD" && e.QualityTypeId == 10);
|
||||
types.Should().Contain(e => e.Name == "WEBDL-720p" && e.QualityTypeId == 5);
|
||||
types.Should().Contain(e => e.Name == "WEBDL-1080p" && e.QualityTypeId == 3);
|
||||
types.Should().Contain(e => e.Name == "Bluray720p" && e.QualityTypeId == 6);
|
||||
types.Should().Contain(e => e.Name == "Bluray1080p" && e.QualityTypeId == 7);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SetupDefault_already_exists_should_insert_missing()
|
||||
{
|
||||
|
||||
Db.Insert(new QualityType { QualityTypeId = 1, Name = "SDTV", MinSize = 0, MaxSize = 100 });
|
||||
|
||||
|
||||
Mocker.Resolve<QualityTypeProvider>();
|
||||
|
||||
|
||||
var types = Mocker.Resolve<QualityTypeProvider>().All();
|
||||
|
||||
types.Should().HaveCount(QualityTypes.All().Count - 1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetList_single_quality_type()
|
||||
{
|
||||
var fakeQualityTypes = Builder<QualityType>.CreateListOfSize(6)
|
||||
.Build();
|
||||
|
||||
var ids = new List<int> { 1 };
|
||||
|
||||
Db.InsertMany(fakeQualityTypes);
|
||||
|
||||
|
||||
var result = Mocker.Resolve<QualityTypeProvider>().GetList(ids);
|
||||
|
||||
|
||||
result.Should().HaveCount(ids.Count);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetList_multiple_quality_type()
|
||||
{
|
||||
var fakeQualityTypes = Builder<QualityType>.CreateListOfSize(6)
|
||||
.Build();
|
||||
|
||||
var ids = new List<int> { 1, 2 };
|
||||
|
||||
Db.InsertMany(fakeQualityTypes);
|
||||
|
||||
|
||||
var result = Mocker.Resolve<QualityTypeProvider>().GetList(ids);
|
||||
|
||||
|
||||
result.Should().HaveCount(ids.Count);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
// ReSharper disable RedundantUsingDirective
|
||||
|
||||
using System.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Qualities;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Qualities
|
||||
{
|
||||
[TestFixture]
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class QualityProfileFixture : CoreTest<QualityProfileService>
|
||||
{
|
||||
[Test]
|
||||
public void Init_should_add_two_profiles()
|
||||
{
|
||||
Subject.Init();
|
||||
|
||||
Mocker.GetMock<IQualityProfileRepository>()
|
||||
.Verify(v => v.Insert(It.IsAny<QualityProfile>()), Times.Exactly(2));
|
||||
}
|
||||
|
||||
[Test]
|
||||
//This confirms that new profiles are added only if no other profiles exists.
|
||||
//We don't want to keep adding them back if a user deleted them on purpose.
|
||||
public void Init_should_skip_if_any_profiles_already_exist()
|
||||
{
|
||||
Mocker.GetMock<IQualityProfileRepository>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(Builder<QualityProfile>.CreateListOfSize(2).Build().ToList());
|
||||
|
||||
Subject.Init();
|
||||
|
||||
Mocker.GetMock<IQualityProfileRepository>()
|
||||
.Verify(v => v.Insert(It.IsAny<QualityProfile>()), Times.Never());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
// ReSharper disable RedundantUsingDirective
|
||||
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Qualities;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.Qualities
|
||||
{
|
||||
[TestFixture]
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class QualitySizeServiceFixture : CoreTest<QualitySizeService>
|
||||
{
|
||||
[Test]
|
||||
public void Init_should_add_all_sizes()
|
||||
{
|
||||
Subject.Init();
|
||||
|
||||
Mocker.GetMock<IQualitySizeRepository>()
|
||||
.Verify(v => v.Insert(It.IsAny<QualitySize>()), Times.Exactly(Quality.All().Count - 1));
|
||||
|
||||
//Todo: Should we validate each was inserted exactly as configured?
|
||||
|
||||
//var types = Mocker.Resolve<QualitySizeService>().All();
|
||||
|
||||
//types.Should().HaveCount(10);
|
||||
//types.Should().Contain(e => e.Name == "SDTV" && e.QualityId == 1);
|
||||
//types.Should().Contain(e => e.Name == "DVD" && e.QualityId == 2);
|
||||
//types.Should().Contain(e => e.Name == "WEBDL-480p" && e.QualityId == 8);
|
||||
//types.Should().Contain(e => e.Name == "HDTV-720p" && e.QualityId == 4);
|
||||
//types.Should().Contain(e => e.Name == "HDTV-1080p" && e.QualityId == 9);
|
||||
//types.Should().Contain(e => e.Name == "Raw-HD" && e.QualityId == 10);
|
||||
//types.Should().Contain(e => e.Name == "WEBDL-720p" && e.QualityId == 5);
|
||||
//types.Should().Contain(e => e.Name == "WEBDL-1080p" && e.QualityId == 3);
|
||||
//types.Should().Contain(e => e.Name == "Bluray720p" && e.QualityId == 6);
|
||||
//types.Should().Contain(e => e.Name == "Bluray1080p" && e.QualityId == 7);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Init_should_insert_any_missing_sizes()
|
||||
{
|
||||
Mocker.GetMock<IQualitySizeRepository>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<QualitySize>
|
||||
{
|
||||
new QualitySize { QualityId = 1, Name = "SDTV", MinSize = 0, MaxSize = 100 }
|
||||
});
|
||||
|
||||
Subject.Init();
|
||||
|
||||
Mocker.GetMock<IQualitySizeRepository>()
|
||||
.Verify(v => v.Insert(It.IsAny<QualitySize>()), Times.Exactly(Quality.All().Count - 2));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,158 +0,0 @@
|
||||
// ReSharper disable RedundantUsingDirective
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using FizzWare.NBuilder;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Repository;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
using NzbDrone.Test.Common.AutoMoq;
|
||||
|
||||
namespace NzbDrone.Core.Test
|
||||
{
|
||||
[TestFixture]
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class QualityProfileTest : SqlCeTest<QualityProvider>
|
||||
{
|
||||
[SetUp]
|
||||
public void SetUp()
|
||||
{
|
||||
WithRealDb();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Test_Storage()
|
||||
{
|
||||
//Arrange
|
||||
var testProfile = new QualityProfile
|
||||
{
|
||||
Name = Guid.NewGuid().ToString(),
|
||||
Cutoff = QualityTypes.SDTV,
|
||||
Allowed = new List<QualityTypes> { QualityTypes.HDTV720p, QualityTypes.DVD },
|
||||
};
|
||||
|
||||
|
||||
var id = Convert.ToInt32(Db.Insert(testProfile));
|
||||
var fetch = Db.SingleOrDefault<QualityProfile>(id);
|
||||
|
||||
|
||||
Assert.AreEqual(id, fetch.QualityProfileId);
|
||||
Assert.AreEqual(testProfile.Name, fetch.Name);
|
||||
Assert.AreEqual(testProfile.Cutoff, fetch.Cutoff);
|
||||
Assert.AreEqual(testProfile.Allowed, fetch.Allowed);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void Test_Storage_no_allowed()
|
||||
{
|
||||
//Arrange
|
||||
var testProfile = new QualityProfile
|
||||
{
|
||||
Name = Guid.NewGuid().ToString(),
|
||||
Cutoff = QualityTypes.SDTV
|
||||
};
|
||||
|
||||
|
||||
var id = Convert.ToInt32(Db.Insert(testProfile));
|
||||
var fetch = Db.SingleOrDefault<QualityProfile>(id);
|
||||
|
||||
|
||||
Assert.AreEqual(id, fetch.QualityProfileId);
|
||||
Assert.AreEqual(testProfile.Name, fetch.Name);
|
||||
Assert.AreEqual(testProfile.Cutoff, fetch.Cutoff);
|
||||
fetch.Allowed.Should().HaveCount(0);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void Update_Success()
|
||||
{
|
||||
var testProfile = new QualityProfile
|
||||
{
|
||||
Name = Guid.NewGuid().ToString(),
|
||||
Cutoff = QualityTypes.SDTV
|
||||
};
|
||||
|
||||
|
||||
var id = Convert.ToInt32(Db.Insert(testProfile));
|
||||
var currentProfile = Db.SingleOrDefault<QualityProfile>(id);
|
||||
|
||||
|
||||
//Update
|
||||
currentProfile.Cutoff = QualityTypes.Bluray720p;
|
||||
Mocker.Resolve<QualityProvider>().Update(currentProfile);
|
||||
|
||||
var updated = Mocker.Resolve<QualityProvider>().Get(currentProfile.QualityProfileId);
|
||||
|
||||
|
||||
updated.Name.Should().Be(currentProfile.Name);
|
||||
updated.Cutoff.Should().Be(QualityTypes.Bluray720p);
|
||||
updated.AllowedString.Should().Be(currentProfile.AllowedString);
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Test_Series_Quality()
|
||||
{
|
||||
var testProfile = new QualityProfile
|
||||
{
|
||||
Name = Guid.NewGuid().ToString(),
|
||||
Cutoff = QualityTypes.SDTV,
|
||||
Allowed = new List<QualityTypes> { QualityTypes.HDTV720p, QualityTypes.DVD },
|
||||
};
|
||||
|
||||
|
||||
var profileId = Convert.ToInt32(Db.Insert(testProfile));
|
||||
|
||||
var series = Builder<Series>.CreateNew().Build();
|
||||
series.QualityProfileId = profileId;
|
||||
|
||||
Db.Insert(testProfile);
|
||||
Db.Insert(series);
|
||||
|
||||
var result = Db.Fetch<Series>();
|
||||
|
||||
result.Should().HaveCount(1);
|
||||
var profile = Db.SingleOrDefault<QualityProfile>(result[0].QualityProfileId);
|
||||
Assert.AreEqual(profileId, result[0].QualityProfileId);
|
||||
Assert.AreEqual(testProfile.Name, profile.Name);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void SetupInitial_should_add_two_profiles()
|
||||
{
|
||||
|
||||
Mocker.Resolve<QualityProvider>();
|
||||
|
||||
|
||||
var profiles = Mocker.Resolve<QualityProvider>().All();
|
||||
|
||||
|
||||
profiles.Should().HaveCount(2);
|
||||
profiles.Should().Contain(e => e.Name == "HD");
|
||||
profiles.Should().Contain(e => e.Name == "SD");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
//This confirms that new profiles are added only if no other profiles exists.
|
||||
//We don't want to keep adding them back if a user deleted them on purpose.
|
||||
public void SetupInitial_should_skip_if_any_profile_exists()
|
||||
{
|
||||
InitiateSubject();
|
||||
|
||||
var profiles = Subject.All();
|
||||
Subject.Delete(profiles[0].QualityProfileId);
|
||||
|
||||
InitiateSubject();
|
||||
|
||||
Subject.All().Should().HaveCount(profiles.Count - 1);
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Loading…
Reference in new issue