From db32f231605eab2372a5aa8d130321d3afb3b239 Mon Sep 17 00:00:00 2001 From: Kir_Antipov Date: Sun, 7 Jan 2024 13:52:37 +0000 Subject: [PATCH] Added tests for `curseforge-game-version-map` --- .../curseforge-game-version-map.spec.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/unit/platforms/curseforge/curseforge-game-version-map.spec.ts diff --git a/tests/unit/platforms/curseforge/curseforge-game-version-map.spec.ts b/tests/unit/platforms/curseforge/curseforge-game-version-map.spec.ts new file mode 100644 index 0000000..43b4812 --- /dev/null +++ b/tests/unit/platforms/curseforge/curseforge-game-version-map.spec.ts @@ -0,0 +1,24 @@ +import { resolve } from "node:path"; +import { readFile } from "node:fs/promises"; +import { BUKKIT_GAME_VERSION_TYPE } from "@/platforms/curseforge/curseforge-game-version-type"; +import { createCurseForgeGameVersionMap } from "@/platforms/curseforge/curseforge-game-version-map"; + +describe("createCurseForgeGameVersionMap", () => { + test("organizes the provided versions into their respective buckets", async () => { + const [versionsSource, versionTypesSource] = await Promise.all([ + readFile(resolve(__dirname, "../../../content/curseforge/versions.json"), "utf8"), + readFile(resolve(__dirname, "../../../content/curseforge/version-types.json"), "utf8"), + ]); + const versions = JSON.parse(versionsSource); + const versionTypes = [...JSON.parse(versionTypesSource), BUKKIT_GAME_VERSION_TYPE]; + + const map = createCurseForgeGameVersionMap(versions, versionTypes); + + expect(map.environments.map(x => x.slug)).toContain("client"); + expect(map.game_versions.map(x => x.slug)).toContain("1-16-5"); + expect(map.game_versions_for_addons.map(x => x.slug)).toContain("1-19"); + expect(map.game_versions_for_plugins.map(x => x.slug)).toContain("1-18"); + expect(map.java_versions.map(x => x.slug)).toContain("java-17"); + expect(map.loaders.map(x => x.slug)).toContain("fabric"); + }); +});