Files
buzz-sheet/lib/catalog/version.test.ts
T
gunshiz 76395a0b42
CI / Verify (push) Successful in 1m13s
CI / Build immutable images and deploy (push) Successful in 5m34s
feat(catalog) : sync Lunaris updates from Discord
2026-09-03 17:51:02 +07:00

33 lines
1.0 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
compareLunarisVersions,
parseLunarisVersionChange,
} from "./version";
describe("Lunaris version announcements", () => {
it("extracts a version change from a full announcement", () => {
expect(
parseLunarisVersionChange(`Lunaris has been updated!
Version Change: 7.0.53.2 → 7.0.54
Characters
Odette`),
).toEqual({
previousVersion: "7.0.53.2",
targetVersion: "7.0.54",
});
});
it("ignores ordinary and malformed messages", () => {
expect(parseLunarisVersionChange("hello")).toBeNull();
expect(parseLunarisVersionChange("Version Change: latest → 7.0.54")).toBeNull();
expect(parseLunarisVersionChange("Version Change: 7.0.53 -> 7.0.54")).toBeNull();
});
it("orders numeric dotted versions with different segment counts", () => {
expect(compareLunarisVersions("7.0.54", "7.0.53.2")).toBe(1);
expect(compareLunarisVersions("7.0.54", "7.0.54.0")).toBe(0);
expect(compareLunarisVersions("7.0.53.2", "7.0.54")).toBe(-1);
});
});