You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recyclarr/tests/Recyclarr.IntegrationTests/QualitySizeGuideServiceTest.cs

47 lines
1.4 KiB

using System.IO.Abstractions;
using Recyclarr.Common;
using Recyclarr.Common.Extensions;
using Recyclarr.Repo;
using Recyclarr.TestLibrary;
using Recyclarr.TrashGuide.QualitySize;
namespace Recyclarr.IntegrationTests;
[TestFixture]
[Parallelizable(ParallelScope.All)]
public class QualitySizeGuideServiceTest : IntegrationTestFixture
{
[TestCase(SupportedServices.Sonarr, "sonarr")]
[TestCase(SupportedServices.Radarr, "radarr")]
public void Get_data_for_service(SupportedServices service, string serviceDir)
{
var repo = Resolve<ITrashGuidesRepo>();
const string metadataJson =
"""
{
"json_paths": {
"radarr": {
"qualities": ["docs/json/radarr/quality-size"]
},
"sonarr": {
"qualities": ["docs/json/sonarr/quality-size"]
}
}
}
""";
Fs.AddFile(repo.Path.File("metadata.json"), new MockFileData(metadataJson));
Fs.AddFileFromEmbeddedResource(
repo.Path.SubDir("docs", "json", serviceDir, "quality-size").File("some-quality-size.json"),
GetType(),
"Data.quality_size.json");
var sut = Resolve<QualitySizeGuideService>();
var result = sut.GetQualitySizeData(service);
result.Should().ContainSingle(x => x.Type == "series");
}
}