27 lines
1.5 KiB
JavaScript
27 lines
1.5 KiB
JavaScript
import assert from "node:assert/strict";
|
|
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import test from "node:test";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
const directory = path.dirname(fileURLToPath(import.meta.url));
|
|
const data = JSON.parse(fs.readFileSync(path.join(directory, "see-you-tomorrow-persona-readiness.json"), "utf8"));
|
|
const byName = Object.fromEntries(data.personas.map((persona) => [persona.name, persona]));
|
|
|
|
test("see-you-tomorrow keeps channel and four persona roles separate", () => {
|
|
assert.equal(data.channel_is_persona, false);
|
|
assert.equal(Object.keys(data.current_role_map).length, 4);
|
|
assert.notEqual(data.current_role_map["ICE-BB-0003"], data.current_role_map["PER-QW001"]);
|
|
});
|
|
|
|
test("qiuqiu stays affective, qiwu stays registration-pending, and chaomu stays candidate", () => {
|
|
assert.equal(byName["秋秋"].architecture_classification, "MEMORY_ROOT_ONLY_INTENTIONALLY_NOT_ARCHITECTURE");
|
|
assert.equal(byName["栖梧"].classification, "FORMAL_KERNEL_READY_REGISTRATION_PENDING");
|
|
assert.equal(byName["朝暮"].classification, "CANDIDATE_SHELL_ONLY");
|
|
});
|
|
|
|
test("historical qiuqiu and qiwu placeholders cannot become current ids", () => {
|
|
assert.ok(data.number_tombstones.includes("ICE-GL-ZHI-002_PLACEHOLDER_NOT_CANONICAL"));
|
|
assert.ok(data.number_tombstones.includes("PER-ZQ001_REQUIRES_SEPARATE_ALIAS_MIGRATION"));
|
|
assert.ok(data.number_tombstones.includes("ICE-GL-ZHI-001_QIWU_PLACEHOLDER_NOT_CURRENT_CANONICAL"));
|
|
});
|