Skip to content

test(apple): own the simctl settings plan tests in simctl-settings.test.ts - #3244

Merged
thymikee merged 1 commit into
claude/limrun-settings-type-and-device-idfrom
claude/simctl-settings-plan-tests-stacked
Oct 6, 2026
Merged

thymikee merged 1 commit into
claude/limrun-settings-type-and-device-idfrom
claude/simctl-settings-plan-tests-stacked

Conversation

@thymikee

@thymikee thymikee commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Stacked on #3243; both change simctl-settings.test.ts. Retarget to main after #3243 merges.

Summary

app-settings.test.ts tested the simctl settings plan by driving setIosSetting with a mocked runner. That plan lives in simctl-settings.ts, which already has its own test file. The plan tests now call applySimctlSetting with a fake runSimctl. app-settings.test.ts keeps one wiring test each for appearance, permission and location, which check the exact simctl call list on the simulator udid.

  • Each of the 13 removed or rewritten app-settings tests has a matching plan test, with the same or stricter assertions: exact argv lists, messages, details and causes.
  • Small additions: the light→dark toggle direction, and the location wiring test's return value.
  • The macOS, biometrics, clear-app-state and reset-keychain tests stay in app-settings.test.ts, which owns that code.

2 test files, 464 gross lines, no source change.

Validation

At f6dc8105c9, rebased on #3243 after it merged main: pnpm check:affected --run passes (514 files, 4026 tests). Ten temporary mutations to simctl-settings.ts were each caught by the plan tests; the source was then restored. The mutations covered the photos-add and deny→revoke mappings, toggle direction, reset-all fallback, mode rejection, refusal wordings, coordinate order, and error details.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.10 MB 5.10 MB 0 B
Package (unpacked) 5.10 MB 5.10 MB 0 B
Package (download) 1.53 MB 1.53 MB +3 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 27.9 ms 27.9 ms +0.1 ms
CLI --help 84.0 ms 85.3 ms +1.3 ms

@thymikee

thymikee commented Oct 6, 2026

Copy link
Copy Markdown
Member Author

The change in 84686ef looks good. It only moves the simctl settings plan tests into simctl-settings.test.ts, and I found no production code in the diff. The test and table-row names match the originals, but I did not run the tests or compare each assertion's argv and detail strings line by line. CI shows no result: all jobs were cancelled and there are no logs. The diff touches only two test files, so only Lint, Format, and Coverage could be affected by it. Please re-run the cancelled jobs. Stack base #3243 must merge before this PR can land.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 6, 2026
@thymikee
thymikee added this pull request to stack #3249 October 6, 2026 05:31
…st.ts

app-settings.test.ts drove the simctl plan through setIosSetting and a mocked
runner. The plan tests now call applySimctlSetting with a fake runSimctl;
app-settings keeps one wiring test each for appearance, permission and location.
@thymikee
thymikee force-pushed the claude/simctl-settings-plan-tests-stacked branch from 84686ef to f6dc810 Compare October 6, 2026 10:37
@thymikee
thymikee merged commit b306b76 into main Oct 6, 2026
18 checks passed
@thymikee
thymikee deleted the claude/simctl-settings-plan-tests-stacked branch October 6, 2026 11:17
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-06 11:17 UTC

thymikee added a commit to okwasniewski/agent-device that referenced this pull request Oct 6, 2026
* origin/main: (77 commits)
  fix(apple-runner): fence prep spawns behind a start-owned admission (callstack#3239)
  0.21.22
  test(apple): own the simctl settings plan tests in simctl-settings.test.ts (callstack#3244)
  fix(limrun): report the session device id in iOS settings refusals (callstack#3243)
  0.21.21
  feat(remote): add a host-allocated macos-app lease backend (callstack#3236)
  test(android): bound the screenshot write wait by wall time, not event-loop turns (callstack#3250)
  feat(recording): cap the touch overlay frame rate at the caller's --fps (callstack#3241)
  fix(ad-script): let .ad scripts carry scroll --until and wait capture flags (callstack#3197) (callstack#3234)
  feat(provider-webdriver): keyboard enter, dismiss, and status over WebDriver (callstack#3233)
  feat(selectors): match role= against snapshot kind with a node-scoped alias window (callstack#3232)
  fix(provider-webdriver): read field values, placeholders, secure fields, and checked state from page source (callstack#3231)
  feat(replay): accept --test-ime on test and replay so flow-owned Android opens opt into the test IME (callstack#3235)
  refactor(daemon): route daemon-level diagnostics through one scope helper (callstack#3242)
  docs(adr): correct ADR 0031 pointer event delivery evidence (callstack#3245)
  fix(ios): stop a tap's post-gesture lookup from recording an XCTest failure (callstack#3060) (callstack#3237)
  fix(recording): render the touch overlay at most 30 fps and inside the record request (callstack#3219)
  fix(daemon): keep an idle daemon alive only for retained leases (callstack#3227)
  fix(provider-webdriver): send an empty JSON object on bodyless POSTs (callstack#3230)
  Feat/maestro repeat while (callstack#3214)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant