mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-08-09 23:25:30 -05:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import * as SearchParams from "~/modules/search-params/search-params";
|
|
import {
|
|
assertDecodesToDefault,
|
|
assertRoundTrips,
|
|
} from "~/modules/search-params/search-params-test-utils";
|
|
import { weaponParamsSearchParams } from "./params-search-params";
|
|
|
|
describe("weaponParamsSearchParams", () => {
|
|
it("round-trips", () => {
|
|
assertRoundTrips(weaponParamsSearchParams, {
|
|
tab: ["params", "patches"],
|
|
hidden: [[], [10], [0, 50, 1000]],
|
|
kit: [null, 0, 40, 8010],
|
|
kitExtras: [true, false],
|
|
});
|
|
});
|
|
|
|
it("accepts legacy comma-joined hidden ids", () => {
|
|
expect(
|
|
SearchParams.decodeParam(weaponParamsSearchParams.shape.hidden, [
|
|
"10,20,30",
|
|
]),
|
|
).toEqual([10, 20, 30]);
|
|
});
|
|
|
|
it("malformed values decode to defaults", () => {
|
|
assertDecodesToDefault(weaponParamsSearchParams, "tab", [["bogus"]]);
|
|
assertDecodesToDefault(weaponParamsSearchParams, "hidden", [
|
|
["abc"],
|
|
["1.5"],
|
|
]);
|
|
assertDecodesToDefault(weaponParamsSearchParams, "kit", [
|
|
["9999"],
|
|
["foo"],
|
|
]);
|
|
assertDecodesToDefault(weaponParamsSearchParams, "kitExtras", [["1"]]);
|
|
});
|
|
});
|