Skip to content

test(frontend): cover the single-session Tavus flows end to end - #90

Merged
micio86dev merged 2 commits into
developfrom
feature/tavus-single-session-e2e
Oct 10, 2026
Merged

micio86dev merged 2 commits into
developfrom
feature/tavus-single-session-e2e

Conversation

@micio86dev

Copy link
Copy Markdown
Owner

What

FE-07 of tavus-single-session-interview: Playwright route-mocked flows for the single-session Tavus path. One commit.

  • app/providers/factory.ts: the inline mock provider gains sendBoundary, which appends the same two messages buildAdvancePayload produces, in order, to window.__mockSteeringLog and acknowledges at once. It sits behind the same mock flag as before; no production behaviour change.
  • tests/e2e/interview-single-session.spec.ts: a small stateful route mock (3 competencies, one Tavus conversation) and five flows: (1) one fresh /start then two continuations, append then respond recorded in order at each boundary, session ids 1, 2, 3; (2) a paraphrased closing line advances via boundary_due: true, one /end, and the next /start names the live conversation; (3) reload issues a fresh /start without live_conversation_id; (4) exit then resume issues a fresh conversation, no continuation, nothing steered; (5) the ceiling handover keeps the competency (conversation_ttl_seconds 130, page.clock.fastForward): a fresh /start on the same session_id, no /end, no steering.

Gap (stated, not faked)

The echo filter (the respond trigger text never reaches /utterance) lives inside TavusProvider behind Daily's data channel, which a browser test cannot reach without a real conversation; asserting it against the mock would prove nothing. The Vitest provider tests own it, and the spec header says so.

Verification

The code under test was already merged, so the specs were green on first run; a mutation (removing the live_conversation_id body and the age-timer arming) fails flows 1, 2, 3 and 5 (flow 4 passes by design) and was reverted. Pinned container, --workers=1, chromium + webkit over the new spec plus interview-flow, interview-chrome and embed: 83 passed, 1 skipped (the skip was not attributed per browser). Vitest 119 files / 3012 tests, typecheck and lint pass.

@micio86dev
micio86dev merged commit c6facfd into develop Oct 10, 2026
4 checks passed
@micio86dev
micio86dev deleted the feature/tavus-single-session-e2e branch October 10, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant