test: close the two coverage tails on the plan surfaces
The plan unit's same-reference gate for a repeated identical /plan selection (the one uncovered branch in plan-mode/index.ts) gains an explicit case, and ui-plan's empty node-half apply is exercised the way sibling surface plugins do (the ui-conversation no-op precedent). Both files read 100% across all four axes under the CI coverage lane's per-file thresholds.
This commit is contained in:
@@ -12,6 +12,7 @@ import type { SessionId } from '@deepseek-ai/dsh-client-runtime/client'
|
|||||||
import { PlanModeControl } from '../src/client/PlanModeControl.tsx'
|
import { PlanModeControl } from '../src/client/PlanModeControl.tsx'
|
||||||
import type { PlanModeControlInjected } from '../src/client/index.ts'
|
import type { PlanModeControlInjected } from '../src/client/index.ts'
|
||||||
import { apply, inject } from '../src/client/index.ts'
|
import { apply, inject } from '../src/client/index.ts'
|
||||||
|
import { apply as nodeApply } from '../src/index.ts'
|
||||||
|
|
||||||
const SID = 's-plan' as SessionId
|
const SID = 's-plan' as SessionId
|
||||||
|
|
||||||
@@ -35,6 +36,10 @@ describe('ui-plan browser apply', () => {
|
|||||||
expect(inject).toEqual(['slots', 'connection', 'conversation'])
|
expect(inject).toEqual(['slots', 'connection', 'conversation'])
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('node-half apply is an intentional no-op', () => {
|
||||||
|
expect(() => { nodeApply() }).not.toThrow()
|
||||||
|
})
|
||||||
|
|
||||||
it('fails loud when conversation did not declare the plan seat', async () => {
|
it('fails loud when conversation did not declare the plan seat', async () => {
|
||||||
const ctx = new Context()
|
const ctx = new Context()
|
||||||
await ctx.plugin(SlotsService).await()
|
await ctx.plugin(SlotsService).await()
|
||||||
|
|||||||
@@ -73,6 +73,9 @@ describe('plan projection unit', () => {
|
|||||||
const bench = await harness(true)
|
const bench = await harness(true)
|
||||||
runPlanCommand(bench.session, '', 0)
|
runPlanCommand(bench.session, '', 0)
|
||||||
expect(bench.values().plan).toEqual({ active: false, pending: true })
|
expect(bench.values().plan).toEqual({ active: false, pending: true })
|
||||||
|
// A repeated identical selection returns the same state reference (no frame).
|
||||||
|
runPlanCommand(bench.session, '', 1)
|
||||||
|
expect(bench.values().plan).toEqual({ active: false, pending: true })
|
||||||
commitPlanMode(bench.session, true, 0)
|
commitPlanMode(bench.session, true, 0)
|
||||||
expect(bench.values().plan).toEqual({ active: true, pending: false })
|
expect(bench.values().plan).toEqual({ active: true, pending: false })
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user