console fill apple-app-privacy: fit the Data Collection dialog to the real console
A real run (sanitized debug dump) showed why the walk stopped after Next:
the data types step is the same "Data Collection" dialog (URL unchanged),
and each checkbox's accessible name is its label run together with its
help text ("NameIncluding first or last name"). Some labels also differ
from Apple's help page ("Purchases", "Other Data").
- labelNames: the exact name, then the label as a prefix that ends where
the help text starts (no lowercase letter follows), so "Name" never
matches "Phone Number...", "Head" never "Health...", "Contact" never
"Contacts...". Used for the data types and the purposes.
TYPE_ALIASES maps Purchase History / Other Data Types to the console's
labels.
- Dialog per step: a section's dialog is also found as the one visible
dialog with a heading of that name.
- Every click and check is bounded (ACTION_MS, 10 s; the scan test now
also rejects clicks without a timeout).
- The flow fixture mirrors the real dialog's structure (dialog/h2 title,
group h3s, input name = Apple's enum, <label> with label + help <p>s,
Save disabled until a type is ticked); no data from the dump. A test
checks every Apple type matches exactly one real-style checkbox.
- Pitfall 15.
Publish is still never clicked; unknown steps still get the watchdog dump.
This commit is contained in:
parent
8b669f5c86
commit
59150c1186
7 changed files with 135 additions and 41 deletions
|
|
@ -135,6 +135,14 @@ Each entry: **symptom** → cause → what to do → what guards it now. The ful
|
|||
progress ends the run with exit 1), `cli/console/debug.ts`, `tests/console-flow.test.ts` (unknown-page fixture and a
|
||||
scan for waits without a deadline).
|
||||
|
||||
## 15. App Privacy data types not found in the real dialog
|
||||
- **Symptom:** after Get Started and Next, `console fill apple-app-privacy` finds no data type checkbox.
|
||||
- **Cause:** the real "Data Collection" dialog names each checkbox by its label run together with its help text
|
||||
("NameIncluding first or last name"), and some labels differ from Apple's help page ("Purchases", "Other Data").
|
||||
- **Do:** nothing by hand: storebound matches the label as a prefix. If the console changes again, the watchdog
|
||||
(pitfall 14) writes a debug dump: re-run with `--debug-dump` and attach it.
|
||||
- **Guard:** `labelNames` and `TYPE_ALIASES` (`cli/lib/console-forms.ts`), `tests/console-flow.test.ts`.
|
||||
|
||||
## Adding a lesson
|
||||
Every bug found in real use gets an entry in `docs/pitfalls.md` and here, and, where possible, a check or a test
|
||||
that fails without the fix (see CONTRIBUTING.md).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue