Release govoplan-search v0.1.20: centralize filtering and refresh behavior
Module Package Release / publish-packages (push) Successful in 11s
Module Package Release / publish-packages (push) Successful in 11s
This commit is contained in:
@@ -5,13 +5,21 @@ const page = fs.readFileSync("src/features/search/SearchPage.tsx", "utf8");
|
||||
const overlay = fs.readFileSync("src/components/GlobalSearch.tsx", "utf8");
|
||||
const admin = fs.readFileSync("src/features/search/SearchAdminPanel.tsx", "utf8");
|
||||
const styles = fs.readFileSync("src/styles/search.css", "utf8");
|
||||
const filters = fs.readFileSync("src/components/SearchFilters.tsx", "utf8");
|
||||
const lifecycle = fs.readFileSync("src/components/useSearchResults.ts", "utf8");
|
||||
|
||||
for (const source of [page, overlay]) {
|
||||
assert.ok(source.includes("DocumentationHelpLink"), "Search surfaces expose configured-system help");
|
||||
assert.ok(source.includes("DismissibleAlert"), "Search failures use the shared alert contract");
|
||||
assert.ok(!source.includes("window.alert("), "Search must not use browser alerts");
|
||||
assert.ok(!/<(div|span|li|tr)\b[^>]*\bonClick\s*=/.test(source), "Search uses semantic interactive elements");
|
||||
assert.ok(source.includes("<SearchFilters"), "Search route and overlay share one filter composition");
|
||||
assert.ok(source.includes("useSearchResults"), "Search route and overlay share one request lifecycle");
|
||||
assert.ok(!source.includes("search-filter-popover"), "Search surfaces must not duplicate dropdown implementations");
|
||||
}
|
||||
assert.ok(filters.includes("MultiSelectFilter"), "Search facets reuse Core's multi-selection dropdown");
|
||||
assert.ok(lifecycle.includes("currentIdentity.current === identity"), "Late responses are gated by the current request identity");
|
||||
assert.ok(lifecycle.includes("controllerRef.current?.abort()"), "Cursor and initial reads are cancelled together");
|
||||
|
||||
assert.ok(page.includes("PageScrollViewport"), "The full search route owns bounded result scrolling");
|
||||
assert.ok(overlay.includes("<Dialog"), "The title-bar search uses the shared focus-contained dialog");
|
||||
|
||||
Reference in New Issue
Block a user