Files
UHD_Media_Tool/apps/server/test/sources-identity/evidence-version.test.ts
T

20 lines
929 B
TypeScript

import { type ParsedRelease, parseRelease } from "@umt/domain";
import { expect, it } from "vitest";
import { evidenceVersion } from "../../src/modules/sources-identity/service/resolve.ts";
it("身份候选不变时,季集和规则匹配输入变化也必须重算;相同事实仍幂等", () => {
const original = parseRelease("[Lilith-Raws] Example S01E40 [1080p]");
const before = evidenceVersion(original, []);
const changes: Partial<ParsedRelease>[] = [
{ season: 2 },
{ seasonEnd: 2 },
{ seasonInferred: true },
{ episodes: { start: 12, end: 12 } },
{ airDate: "20250314" },
{ releaseGroup: { name: "ANi", source: "bracket" } },
{ words: { applied: ["Example >> EP-28"], original: original.raw } },
];
for (const change of changes) expect(evidenceVersion({ ...original, ...change }, [])).not.toBe(before);
expect(evidenceVersion(structuredClone(original), [])).toBe(before);
});