mirror of
https://github.com/Cleanuparr/Cleanuparr.git
synced 2026-10-28 10:48:49 -04:00
added sonarr full chunk score sync test
This commit is contained in:
1 parent
62edbcdb37
commit
9cb7699dc3
1 file changed
+49
+49
@@ -1365,6 +1365,55 @@ public class CustomFormatScoreSyncerTests : IDisposable
|
||||
(await _fixture.EventsContext.CustomFormatScoreEntries.CountAsync()).ShouldBe(ChunkSize + 1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ExecuteAsync_SonarrSync_FlushesFullSeriesChunks()
|
||||
{
|
||||
// Arrange
|
||||
ArrInstance sonarrInstance = TestDataContextFactory.AddSonarrInstance(_fixture.DataContext);
|
||||
_fixture.DataContext.SeekerInstanceConfigs.Add(new SeekerInstanceConfig
|
||||
{
|
||||
ArrInstanceId = sonarrInstance.Id,
|
||||
ArrInstance = sonarrInstance,
|
||||
Enabled = true,
|
||||
UseCustomFormatScore = true
|
||||
});
|
||||
await _fixture.DataContext.SaveChangesAsync();
|
||||
await _fixture.EventsContext.SaveChangesAsync();
|
||||
|
||||
List<SearchableSeries> series = [];
|
||||
for (int i = 1; i <= ChunkSize + 1; i++)
|
||||
{
|
||||
series.Add(new SearchableSeries { Id = i, Title = $"Series {i}", Monitored = true, QualityProfileId = 1 });
|
||||
}
|
||||
|
||||
_sonarrClient
|
||||
.GetQualityProfilesAsync(sonarrInstance)
|
||||
.Returns([new ArrQualityProfile { Id = 1, Name = "HD", CutoffFormatScore = 500 }]);
|
||||
_sonarrClient
|
||||
.StreamAllSeriesAsync(sonarrInstance, Arg.Any<CancellationToken>())
|
||||
.Returns(_ => ToAsyncEnumerable(series));
|
||||
_sonarrClient
|
||||
.GetEpisodesAsync(sonarrInstance, Arg.Any<long>(), Arg.Any<CancellationToken>())
|
||||
.Returns(callInfo => Task.FromResult(new List<SearchableEpisode>
|
||||
{
|
||||
new() { Id = callInfo.ArgAt<long>(1) * 10, SeasonNumber = 1, EpisodeNumber = 1, EpisodeFileId = callInfo.ArgAt<long>(1) * 100, HasFile = true, Monitored = true }
|
||||
}));
|
||||
_sonarrClient
|
||||
.GetEpisodeFilesAsync(sonarrInstance, Arg.Any<long>(), Arg.Any<CancellationToken>())
|
||||
.Returns(callInfo => Task.FromResult(new List<ArrEpisodeFile>
|
||||
{
|
||||
new() { Id = callInfo.ArgAt<long>(1) * 100, CustomFormatScore = 120 }
|
||||
}));
|
||||
|
||||
CustomFormatScoreSyncer sut = CreateSut();
|
||||
|
||||
// Act
|
||||
await sut.ExecuteAsync();
|
||||
|
||||
// Assert
|
||||
(await _fixture.EventsContext.CustomFormatScoreEntries.CountAsync()).ShouldBe(ChunkSize + 1);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ExecuteAsync_LidarrCompleteAlbumWithoutTrackFile_KeepsEntryAndSkips()
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user