From a1cc57b0bd982e7f72bfdca19923545b0923a3bf Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Tue, 7 Dec 2021 13:33:28 +0000 Subject: [PATCH] Add some regression tests for this behaviour. --- .../common/batch-manual/converter.test.ts | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts b/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts index 99e1ae443..3ac204b91 100644 --- a/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts +++ b/server/src/lib/score-import/import-types/common/batch-manual/converter.test.ts @@ -158,6 +158,61 @@ t.test("#ResolveMatchTypeToKTData", (t) => { t.end(); }); + t.test("Should resolve for the usc chartHash if the matchType is uscChartHash", async (t) => { + const chartHash = "USC_CHART_HASH"; + + const uscContext: BatchManualContext = deepmerge(context, { + game: "usc", + playtype: "Controller", + }); + + const res = await ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "uscChartHash", + identifier: chartHash, + }), + uscContext, + importType, + logger + ); + + t.hasStrict( + res, + { + song: { id: 1 }, + chart: { songID: 1, chartID: "USC_CHART_ID", playtype: "Controller" }, + }, + "Should return the right song and chart." + ); + + t.end(); + }); + + t.test("Should honor playtype in uscChartHash despite non-unique chartIDs.", async (t) => { + const chartHash = "USC_CHART_HASH"; + + const uscContext: BatchManualContext = deepmerge(context, { + game: "usc", + playtype: "Keyboard", + }); + + t.rejects( + () => + ResolveMatchTypeToKTData( + deepmerge(baseBatchManualScore, { + matchType: "uscChartHash", + identifier: chartHash, + }), + uscContext, + importType, + logger + ), + ktdWrap("Cannot find chart with hash USC_CHART_HASH", "usc") + ); + + t.end(); + }); + t.test("Should reject if ddrSongHash is called without game = ddr", (t) => { t.rejects( ResolveMatchTypeToKTData(