mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
fix: resolve circular dependency and fix failing tests
This commit is contained in:
@@ -24,7 +24,6 @@ public class DeezerDownloadServiceTests : IDisposable
|
||||
private readonly Mock<ILocalLibraryService> _localLibraryServiceMock;
|
||||
private readonly Mock<IMusicMetadataService> _metadataServiceMock;
|
||||
private readonly Mock<ILogger<DeezerDownloadService>> _loggerMock;
|
||||
private readonly Mock<IServiceProvider> _serviceProviderMock;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly string _testDownloadPath;
|
||||
|
||||
@@ -42,7 +41,6 @@ public class DeezerDownloadServiceTests : IDisposable
|
||||
_localLibraryServiceMock = new Mock<ILocalLibraryService>();
|
||||
_metadataServiceMock = new Mock<IMusicMetadataService>();
|
||||
_loggerMock = new Mock<ILogger<DeezerDownloadService>>();
|
||||
_serviceProviderMock = new Mock<IServiceProvider>();
|
||||
|
||||
_configuration = new ConfigurationBuilder()
|
||||
.AddInMemoryCollection(new Dictionary<string, string?>
|
||||
@@ -85,6 +83,10 @@ public class DeezerDownloadServiceTests : IDisposable
|
||||
Quality = null
|
||||
});
|
||||
|
||||
var serviceProviderMock = new Mock<IServiceProvider>();
|
||||
serviceProviderMock.Setup(sp => sp.GetService(typeof(octo_fiesta.Services.Subsonic.PlaylistSyncService)))
|
||||
.Returns(null);
|
||||
|
||||
return new DeezerDownloadService(
|
||||
_httpClientFactoryMock.Object,
|
||||
config,
|
||||
@@ -92,7 +94,7 @@ public class DeezerDownloadServiceTests : IDisposable
|
||||
_metadataServiceMock.Object,
|
||||
subsonicSettings,
|
||||
deezerSettings,
|
||||
_serviceProviderMock.Object,
|
||||
serviceProviderMock.Object,
|
||||
_loggerMock.Object);
|
||||
}
|
||||
|
||||
|
||||
@@ -767,7 +767,7 @@ public class DeezerMetadataServiceTests
|
||||
Assert.Equal(2, result.Count);
|
||||
Assert.Equal("Track 1", result[0].Title);
|
||||
Assert.Equal("Artist A", result[0].Artist);
|
||||
Assert.Equal("ext-deezer-111", result[0].Id);
|
||||
Assert.Equal("ext-deezer-song-111", result[0].Id);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -22,7 +22,6 @@ public class QobuzDownloadServiceTests : IDisposable
|
||||
private readonly Mock<IMusicMetadataService> _metadataServiceMock;
|
||||
private readonly Mock<ILogger<QobuzBundleService>> _bundleServiceLoggerMock;
|
||||
private readonly Mock<ILogger<QobuzDownloadService>> _loggerMock;
|
||||
private readonly Mock<IServiceProvider> _serviceProviderMock;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly string _testDownloadPath;
|
||||
private QobuzBundleService _bundleService;
|
||||
@@ -42,7 +41,6 @@ public class QobuzDownloadServiceTests : IDisposable
|
||||
_metadataServiceMock = new Mock<IMusicMetadataService>();
|
||||
_bundleServiceLoggerMock = new Mock<ILogger<QobuzBundleService>>();
|
||||
_loggerMock = new Mock<ILogger<QobuzDownloadService>>();
|
||||
_serviceProviderMock = new Mock<IServiceProvider>();
|
||||
|
||||
// Create a real QobuzBundleService for testing (it will use the mocked HttpClient)
|
||||
_bundleService = new QobuzBundleService(_httpClientFactoryMock.Object, _bundleServiceLoggerMock.Object);
|
||||
@@ -88,6 +86,10 @@ public class QobuzDownloadServiceTests : IDisposable
|
||||
Quality = quality
|
||||
});
|
||||
|
||||
var serviceProviderMock = new Mock<IServiceProvider>();
|
||||
serviceProviderMock.Setup(sp => sp.GetService(typeof(octo_fiesta.Services.Subsonic.PlaylistSyncService)))
|
||||
.Returns(null);
|
||||
|
||||
return new QobuzDownloadService(
|
||||
_httpClientFactoryMock.Object,
|
||||
config,
|
||||
@@ -96,7 +98,7 @@ public class QobuzDownloadServiceTests : IDisposable
|
||||
_bundleService,
|
||||
subsonicSettings,
|
||||
qobuzSettings,
|
||||
_serviceProviderMock.Object,
|
||||
serviceProviderMock.Object,
|
||||
_loggerMock.Object);
|
||||
}
|
||||
|
||||
|
||||
@@ -26,11 +26,14 @@ public class QobuzMetadataServiceTests
|
||||
_httpClientFactoryMock = new Mock<IHttpClientFactory>();
|
||||
_httpClientFactoryMock.Setup(f => f.CreateClient(It.IsAny<string>())).Returns(httpClient);
|
||||
|
||||
var httpClientFactory = Mock.Of<IHttpClientFactory>();
|
||||
// Mock QobuzBundleService (methods are now virtual so can be mocked)
|
||||
var bundleHttpClientFactoryMock = new Mock<IHttpClientFactory>();
|
||||
bundleHttpClientFactoryMock.Setup(f => f.CreateClient(It.IsAny<string>())).Returns(httpClient);
|
||||
var bundleLogger = Mock.Of<ILogger<QobuzBundleService>>();
|
||||
|
||||
_bundleServiceMock = new Mock<QobuzBundleService>(httpClientFactory, bundleLogger);
|
||||
_bundleServiceMock = new Mock<QobuzBundleService>(bundleHttpClientFactoryMock.Object, bundleLogger) { CallBase = false };
|
||||
_bundleServiceMock.Setup(b => b.GetAppIdAsync()).ReturnsAsync("fake-app-id-12345");
|
||||
_bundleServiceMock.Setup(b => b.GetSecretsAsync()).ReturnsAsync(new List<string> { "fake-secret" });
|
||||
_bundleServiceMock.Setup(b => b.GetSecretAsync(It.IsAny<int>())).ReturnsAsync("fake-secret");
|
||||
|
||||
_loggerMock = new Mock<ILogger<QobuzMetadataService>>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user