46 lines
2.0 KiB
C#
46 lines
2.0 KiB
C#
using Ludarium.Infrastructure;
|
|
|
|
namespace Ludarium.IntegrationTests;
|
|
|
|
public sealed class GameArtworkEnricherTests
|
|
{
|
|
[Theory]
|
|
[InlineData("Asterix and Obelix Slap Them All")]
|
|
[InlineData("Call of Duty - Black Ops 6")]
|
|
[InlineData("Destroy All Humans 2")]
|
|
[InlineData("Evil Genius 2 World Domination")]
|
|
[InlineData("Life is Strange Reunion Deluxe Edition v1 003 000")]
|
|
[InlineData("Life is Strange Reunion Deluxe Edition v1 003 000 PS5-UNLiMiTED")]
|
|
[InlineData("PRAGMATA")]
|
|
[InlineData("RollerCoaster Tycoon Adventures Deluxe")]
|
|
[InlineData("Two Point Museum")]
|
|
public void ProductionPs5TitlesHaveProvenanceBackedRetailFallbacks(string title)
|
|
{
|
|
var source = Assert.IsType<RetailArtworkSource>(GameArtworkEnricher.FindCuratedRetailArtwork(title, "ps5"));
|
|
Assert.Equal("WorldOfGames", source.Provider);
|
|
Assert.Equal("curated-retailer-platform-box-front", source.MatchMethod);
|
|
Assert.StartsWith("https://www.wog.ch/en/index.cfm/details/product/", source.ExternalId);
|
|
}
|
|
|
|
[Fact]
|
|
public void CuratedFallbackDoesNotCrossPlatformBoundaries() =>
|
|
Assert.Null(GameArtworkEnricher.FindCuratedRetailArtwork("PRAGMATA", "windows"));
|
|
|
|
[Fact]
|
|
public void PsxSerialFallbackRetainsItsArchivalProvenance()
|
|
{
|
|
var source = Assert.IsType<RetailArtworkSource>(GameArtworkEnricher.FindCuratedRetailArtwork("Disney's A Bug's Life", "psx"));
|
|
Assert.Equal("PSXDataCenter", source.Provider);
|
|
Assert.Equal("curated-serial-platform-box-front", source.MatchMethod);
|
|
Assert.EndsWith("SCUS-94288.html", source.ExternalId);
|
|
}
|
|
|
|
[Fact]
|
|
public void DigitalOnlyWindowsReleaseIsExplicitlyNotClaimedAsRetail()
|
|
{
|
|
var source = Assert.IsType<RetailArtworkSource>(GameArtworkEnricher.FindCuratedRetailArtwork("Movies Tycoon", "windows"));
|
|
Assert.Equal("SteamDigital", source.Provider);
|
|
Assert.Equal("verified-digital-only-storefront-front", source.MatchMethod);
|
|
}
|
|
}
|