Complete legacy operator UI and playout migration

This commit is contained in:
2026-07-12 02:05:49 +09:00
parent d2e16bf0c2
commit ffb8f43c19
131 changed files with 48473 additions and 228 deletions

View File

@@ -48,6 +48,32 @@ test("TAKE IN and TAKE OUT preserve the native state prerequisites", () => {
null);
});
test("legacy F8 chooses exactly one safe PREPARE or TAKE IN action", () => {
assert.equal(
safety.legacyTakeInShortcutAction(ready({ takeInAllowed: true })),
"prepare-then-take-in");
assert.equal(
safety.legacyTakeInShortcutAction(ready({
takeInAllowed: true,
engineState: "PREPARED",
preparedCode: "5001"
})),
"take-in");
assert.equal(
safety.legacyTakeInShortcutAction(ready({
takeInAllowed: true,
engineState: "PROGRAM",
onAirCode: "5001"
})),
"next-required");
assert.equal(
safety.legacyTakeInShortcutAction(ready({ takeInAllowed: false })),
"take-in-locked");
assert.equal(
safety.legacyTakeInShortcutAction(ready({ takeInAllowed: true, pending: true })),
"blocked");
});
test("Refresh faults block mutations but preserve emergency TAKE OUT", () => {
const faulted = ready({
refreshFaulted: true,