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.
37 lines
952 B
37 lines
952 B
using Recyclarr.Cli.Pipelines.Tags;
|
|
using Recyclarr.Cli.Pipelines.Tags.PipelinePhases;
|
|
using Recyclarr.ServarrApi.Dto;
|
|
using Recyclarr.ServarrApi.Services;
|
|
|
|
namespace Recyclarr.Cli.Tests.Pipelines.Tags.PipelinePhases;
|
|
|
|
[TestFixture]
|
|
[Parallelizable(ParallelScope.All)]
|
|
public class TagApiFetchPhaseTest
|
|
{
|
|
[Test, AutoMockData]
|
|
public async Task Cache_is_cleared_and_updated(
|
|
[Frozen] ISonarrTagApiService api,
|
|
[Frozen] ServiceTagCache cache,
|
|
TagApiFetchPhase sut)
|
|
{
|
|
var expectedData = new[]
|
|
{
|
|
new SonarrTag {Id = 3},
|
|
new SonarrTag {Id = 4},
|
|
new SonarrTag {Id = 5}
|
|
};
|
|
|
|
api.GetTags(default!).ReturnsForAnyArgs(expectedData);
|
|
|
|
cache.AddTags(new[]
|
|
{
|
|
new SonarrTag {Id = 1},
|
|
new SonarrTag {Id = 2}
|
|
});
|
|
|
|
await sut.Execute(default!);
|
|
cache.Tags.Should().BeEquivalentTo(expectedData);
|
|
}
|
|
}
|