From 14cb69fe19e36e8dcd1913d755771e7fdd80c3cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pierzcha=C5=82a?= Date: Thu, 24 Sep 2026 17:22:10 +0200 Subject: [PATCH] refactor(ios-e2e): use canonical wait reasons in confirmation helper --- .../ios-simulator-e2e-deep-link-confirmation.test.ts | 7 ++++--- .../ios-simulator-e2e/live-deep-link-confirmation.ts | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/test/integration/ios-simulator-e2e-deep-link-confirmation.test.ts b/test/integration/ios-simulator-e2e-deep-link-confirmation.test.ts index a07a38db8e..44ba5eef7e 100644 --- a/test/integration/ios-simulator-e2e-deep-link-confirmation.test.ts +++ b/test/integration/ios-simulator-e2e-deep-link-confirmation.test.ts @@ -1,6 +1,7 @@ import assert from 'node:assert/strict'; import test from 'node:test'; +import { WAIT_REASONS } from '@agent-device/contracts/wait'; import type { CliJsonResult } from './cli-json.ts'; import { answerDeepLinkConfirmation, @@ -15,16 +16,16 @@ const LANDED = result(0, { success: true }); const LAUNCH_PENDING = result(1, { error: { code: 'COMMAND_FAILED', - details: { reason: 'wait_capture_stalled', runnerErrorCode: 'APP_NOT_RUNNING' }, + details: { reason: WAIT_REASONS.captureStalled, runnerErrorCode: 'APP_NOT_RUNNING' }, }, }); const WRONG_ROUTE = result(1, { - error: { code: 'COMMAND_FAILED', details: { reason: 'wait_target_absent' } }, + error: { code: 'COMMAND_FAILED', details: { reason: WAIT_REASONS.targetAbsent } }, }); const READABLE_TIMEOUT = result(1, { error: { code: 'COMMAND_FAILED', - details: { reason: 'wait_deadline_exceeded', readableCaptures: 5, captureTruncated: true }, + details: { reason: WAIT_REASONS.deadlineExceeded, readableCaptures: 5, captureTruncated: true }, }, }); const OPEN_PROMPT = result(0, { diff --git a/test/integration/ios-simulator-e2e/live-deep-link-confirmation.ts b/test/integration/ios-simulator-e2e/live-deep-link-confirmation.ts index cbeb4a4e64..71fd78e6ab 100644 --- a/test/integration/ios-simulator-e2e/live-deep-link-confirmation.ts +++ b/test/integration/ios-simulator-e2e/live-deep-link-confirmation.ts @@ -1,5 +1,6 @@ import assert from 'node:assert/strict'; +import { WAIT_REASONS } from '@agent-device/contracts/wait'; import type { CliJsonResult } from '../cli-json.ts'; import { type LiveContext, runStep } from './live-harness.ts'; @@ -59,12 +60,13 @@ export async function answerDeepLinkConfirmation( const details = arrived.json?.error?.details; const launchPending = details?.runnerErrorCode === APP_NOT_RUNNING; const reason = details?.reason; - const readableMiss = reason === 'wait_target_absent' || reason === 'wait_deadline_exceeded'; + const readableMiss = + reason === WAIT_REASONS.targetAbsent || reason === WAIT_REASONS.deadlineExceeded; const interruptedCapture = - reason === 'wait_capture_stalled' || reason === 'wait_runner_restart_exhausted'; + reason === WAIT_REASONS.captureStalled || reason === WAIT_REASONS.runnerRestartExhausted; if (!launchPending && !readableMiss && !interruptedCapture) return; if (!answered) answered = await acceptOpenConfirmation(device); - if (!answered && reason === 'wait_target_absent') return; + if (!answered && reason === WAIT_REASONS.targetAbsent) return; } }