Files
orca/config/scripts/node-server-packaged-chat-selection.test.mjs
T
OrcaWinandOrcaWin 9b6a2e8ff1 test: strengthen CLI, ACP, mobile web and CI coverage (audit 7) (#32681)
* test: exercise fresh orchestration output and identity fixtures

* test: check brief task values at the current output boundary

* test: observe worker CLI receipts through actual output

* test: reach sender lookup and print real worker wait states

* test: verify retry deadlines and headless recovery admission

* test: audit ACP lifecycle and recorded response boundaries

* test: exercise mobile and CI admission contracts

* test: check cache producers and exact capped output

* test: reconcile upstream audit coverage and cache admission

* docs: align integrated audit record hashes

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-23 09:26:55 -07:00

43 lines
2.1 KiB
JavaScript

import { readFileSync } from 'node:fs'
import { expect, it } from 'vitest'
import { parse } from 'yaml'
import { classifyNodeServerChanges } from './node-server-change-scope.mjs'
import { nodeServerTestPaths } from './node-server-test-paths.mjs'
it.each([
'src/main/orcad/orcad-packaged-structured-chat.integration.test.ts',
'src/main/runtime/new-launch-path.ts',
'src/main/claude/__fixtures__/claude-agent-sdk-scripted-cli.mjs',
'config/scripts/orcad-entry-build.mjs',
'config/scripts/future-orcad-package.mjs'
])('runs the packaged structured chat when its inputs change: %s', async (file) => {
expect((await classifyNodeServerChanges([file], async () => new Set())).shouldRun).toBe(true)
})
it('configures Linux packaged-chat verification after building the desktop template', () => {
const workflow = parse(readFileSync('.github/workflows/node-server-tests.yml', 'utf8'))
const steps = workflow.jobs.persistence.steps
const chat = steps.find((step) =>
step.run?.includes('orcad-packaged-structured-chat.integration.test.ts')
)
expect(chat.if).toBe("runner.os == 'Linux'")
expect(chat.run).toBe(
'pnpm test:node-server --artifact src/main/orcad/orcad-packaged-structured-chat.integration.test.ts --maxWorkers=2'
)
const template = steps.find((step) => step.run?.includes('build-orcad-template.mjs --targets'))
expect(template.if).toBe("runner.os == 'Linux'")
expect(template.run).toBe(
"node config/scripts/build-orcad-template.mjs --targets linux-${{ runner.arch == 'ARM64' && 'arm64' || 'x64' }}-glibc"
)
expect(steps.indexOf(template)).toBeGreaterThan(
steps.findIndex((step) => step.run === 'pnpm build:orcad')
)
expect(steps.indexOf(chat)).toBeGreaterThan(steps.indexOf(template))
expect(template['continue-on-error']).toBeUndefined()
expect(chat['continue-on-error']).toBeUndefined()
// Default --artifact runs have no template, so a required-input failure would follow.
expect(nodeServerTestPaths({ artifact: true, crossRuntime: true })).not.toContain(
'src/main/orcad/orcad-packaged-structured-chat.integration.test.ts'
)
})