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.");