test(web): assert the whole turn/end reason in the Cordis lifecycle
The assertion compared a rebuilt object that carried only reason.kind,
so a failing turn reported "expected { kind: 'error' }" with no payload.
TurnEndReasonMap is merge-extensible and several variants carry the only
record of why the turn ended: error holds LlmFailure (message, code) and
aborted holds its TurnEndCancelCause.
Compare the reason itself. completed declares kind as its only field, so
the passing path is unchanged, and any failure prints the full variant
payload without a per-variant branch.
This commit is contained in:
@@ -47,8 +47,7 @@ function assertCompleteCordisLifecycle(events: readonly SessionEvent[]): void {
|
||||
(event): event is Extract<SessionEvent, { type: 'turn/end' }> => event.type === 'turn/end',
|
||||
)
|
||||
const reason = turnEnd?.data.reason
|
||||
const reasonSummary = { kind: reason?.kind }
|
||||
expect(reasonSummary).toEqual({ kind: 'completed' })
|
||||
expect(reason).toEqual({ kind: 'completed' })
|
||||
|
||||
const calls = events.filter(
|
||||
(event): event is Extract<SessionEvent, { type: 'tool/call' }> => event.type === 'tool/call',
|
||||
|
||||
Reference in New Issue
Block a user