23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import {
|
|
importRunIdFromSearch,
|
|
importRunLifecycle,
|
|
unavailableImportRunMessage,
|
|
withImportRunSearch
|
|
} from "../src/features/addressbook/importRunState";
|
|
|
|
const initial = new URLSearchParams("q=Ada&import_run=run-123");
|
|
assert.equal(importRunIdFromSearch(initial), "run-123");
|
|
assert.equal(withImportRunSearch(initial, "run-456").toString(), "q=Ada&import_run=run-456");
|
|
assert.equal(withImportRunSearch(initial, null).toString(), "q=Ada");
|
|
|
|
assert.equal(importRunLifecycle("previewed").canApply, true);
|
|
assert.equal(importRunLifecycle("previewed").canRollback, false);
|
|
assert.equal(importRunLifecycle("applied").canApply, false);
|
|
assert.equal(importRunLifecycle("applied").canRollback, true);
|
|
assert.equal(importRunLifecycle("rolled_back").canRollback, false);
|
|
assert.equal(importRunLifecycle("expired").label, "Expired");
|
|
assert.match(unavailableImportRunMessage(404), /missing, expired, or not available to your tenant/);
|
|
|
|
console.log("Address import-run deep-link and lifecycle state tests passed.");
|