mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
fix: artist, album, songs image problem fixed with new ID format
This commit is contained in:
@@ -52,7 +52,7 @@ public class DeezerMetadataServiceTests
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
Assert.Single(result);
|
||||
Assert.Equal("ext-deezer-123456", result[0].Id);
|
||||
Assert.Equal("ext-deezer-song-123456", result[0].Id);
|
||||
Assert.Equal("Test Song", result[0].Title);
|
||||
Assert.Equal("Test Artist", result[0].Artist);
|
||||
Assert.Equal("Test Album", result[0].Album);
|
||||
@@ -89,7 +89,7 @@ public class DeezerMetadataServiceTests
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
Assert.Single(result);
|
||||
Assert.Equal("ext-deezer-456789", result[0].Id);
|
||||
Assert.Equal("ext-deezer-album-456789", result[0].Id);
|
||||
Assert.Equal("Test Album", result[0].Title);
|
||||
Assert.Equal("Test Artist", result[0].Artist);
|
||||
Assert.Equal(12, result[0].SongCount);
|
||||
@@ -123,7 +123,7 @@ public class DeezerMetadataServiceTests
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
Assert.Single(result);
|
||||
Assert.Equal("ext-deezer-789012", result[0].Id);
|
||||
Assert.Equal("ext-deezer-artist-789012", result[0].Id);
|
||||
Assert.Equal("Test Artist", result[0].Name);
|
||||
Assert.Equal(5, result[0].AlbumCount);
|
||||
Assert.False(result[0].IsLocal);
|
||||
@@ -167,7 +167,7 @@ public class DeezerMetadataServiceTests
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
Assert.Equal("ext-deezer-123456", result.Id);
|
||||
Assert.Equal("ext-deezer-song-123456", result.Id);
|
||||
Assert.Equal("Test Song", result.Title);
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ public class DeezerMetadataServiceTests
|
||||
|
||||
// Assert
|
||||
Assert.NotNull(result);
|
||||
Assert.Equal("ext-deezer-456789", result.Id);
|
||||
Assert.Equal("ext-deezer-album-456789", result.Id);
|
||||
Assert.Equal("Test Album", result.Title);
|
||||
Assert.Equal("Test Artist", result.Artist);
|
||||
Assert.Equal(2, result.Songs.Count);
|
||||
|
||||
@@ -203,6 +203,7 @@ public class LocalLibraryServiceTests : IDisposable
|
||||
[InlineData("ext-deezer-123", true, "deezer", "123")]
|
||||
[InlineData("ext-spotify-abc123", true, "spotify", "abc123")]
|
||||
[InlineData("ext-tidal-999-888", true, "tidal", "999-888")]
|
||||
[InlineData("ext-deezer-song-123456", true, "deezer", "123456")] // New format - extracts numeric ID
|
||||
[InlineData("123456", false, null, null)]
|
||||
[InlineData("", false, null, null)]
|
||||
[InlineData("ext-", false, null, null)]
|
||||
@@ -217,4 +218,27 @@ public class LocalLibraryServiceTests : IDisposable
|
||||
Assert.Equal(expectedProvider, provider);
|
||||
Assert.Equal(expectedExternalId, externalId);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData("ext-deezer-song-123456", true, "deezer", "song", "123456")]
|
||||
[InlineData("ext-deezer-album-789012", true, "deezer", "album", "789012")]
|
||||
[InlineData("ext-deezer-artist-259", true, "deezer", "artist", "259")]
|
||||
[InlineData("ext-spotify-song-abc123", true, "spotify", "song", "abc123")]
|
||||
[InlineData("ext-deezer-123", true, "deezer", "song", "123")] // Legacy format defaults to song
|
||||
[InlineData("ext-tidal-999", true, "tidal", "song", "999")] // Legacy format defaults to song
|
||||
[InlineData("123456", false, null, null, null)]
|
||||
[InlineData("", false, null, null, null)]
|
||||
[InlineData("ext-", false, null, null, null)]
|
||||
[InlineData("ext-deezer", false, null, null, null)]
|
||||
public void ParseExternalId_VariousInputs_ReturnsExpected(string id, bool expectedIsExternal, string? expectedProvider, string? expectedType, string? expectedExternalId)
|
||||
{
|
||||
// Act
|
||||
var (isExternal, provider, type, externalId) = _service.ParseExternalId(id);
|
||||
|
||||
// Assert
|
||||
Assert.Equal(expectedIsExternal, isExternal);
|
||||
Assert.Equal(expectedProvider, provider);
|
||||
Assert.Equal(expectedType, type);
|
||||
Assert.Equal(expectedExternalId, externalId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user