storebound/tests
2026-10-12 09:38:57 +08:00
..
fixtures console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
helpers flow run: a declined confirmation stops the flow; --apply --yes confirms write steps 2026-10-12 08:51:58 +08:00
adhoc.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
analytics.test.ts Analytics snapshots: storebound analytics setup | snapshot | compare, store-analytics skill 2026-10-10 23:28:10 +08:00
api.test.ts storebound api: every App Store Connect and Google Play operation 2026-10-11 23:37:09 +08:00
app-privacy.test.ts play data-safety: PSL_SUPPORT_DATA_DELETION_BY_USER as Play's single choice (partialDeletion true | false | 'auto90'), drop the removed PSL_DATA_COLLECTION_USER_REQUEST_DELETE (deletionRequest deprecated, check notes it); ship Google's empty form (cli/data/play-data-safety-form.csv, exported 2026-10-12), take every Answer requirement from it and report pairs not in it (formPairIssues) in check, declarations and play data-safety. Pitfall 21 2026-10-12 09:34:12 +08:00
apple-ads.test.ts flow run: a declined confirmation stops the flow; --apply --yes confirms write steps 2026-10-12 08:51:58 +08:00
apple-name.test.ts apple.name: the App Store name when the plain name is taken; console fill, apple listing, pull, check (30-char error, same-name hint), scan use it 2026-10-12 03:23:43 +08:00
apps.test.ts play data-safety: PSL_SUPPORT_DATA_DELETION_BY_USER as Play's single choice (partialDeletion true | false | 'auto90'), drop the removed PSL_DATA_COLLECTION_USER_REQUEST_DELETE (deletionRequest deprecated, check notes it); ship Google's empty form (cli/data/play-data-safety-form.csv, exported 2026-10-12), take every Answer requirement from it and report pairs not in it (formPairIssues) in check, declarations and play data-safety. Pitfall 21 2026-10-12 09:34:12 +08:00
aso-plus.test.ts aso: competitors, suggest and audit from official data; ASO card on the Growth tab 2026-10-12 04:09:34 +08:00
browser-resolve.test.ts console fill: never copy Google session cookies by default (device-bound); own profile in a Chrome started without automation switches 2026-10-12 07:46:38 +08:00
build-fixtures.ts Signing, builds, uploads and an originality check 2026-10-11 23:42:48 +08:00
build-sign.test.ts play build: find the Android SDK like Android Studio (ANDROID_HOME, ANDROID_SDK_ROOT, sdk.dir, default folder), pass it in the env, stop before Gradle when missing; doctor shows it. apple upload: size, per-part lines, 20 s heartbeat (api, altool, processing wait), per-part and per-call timeouts, --timeout exits 7 with the resume hint. Pitfall 25 2026-10-12 08:59:45 +08:00
capture-web.test.ts fast ci: task graph runner, sharded tests balanced by recorded durations, ci:quick (typecheck + related tests + scrub), Rust only when src-tauri / sidecar build changed, event waits instead of sleeps 2026-10-12 05:05:26 +08:00
ci-plan.test.ts ci:quick: browser suites only for nearby imports (full ci runs them always) 2026-10-12 05:08:23 +08:00
cli-help.test.ts shots check: ligatures no longer read as system-font glyphs (probe spans shaped as one run); --help on every command and group, unknown flags rejected before anything runs 2026-10-12 05:23:37 +08:00
console-app-id.test.ts console fill: one app shown twice is one app; App Privacy opens by app id via the API 2026-10-12 06:32:21 +08:00
console-fill.test.ts play data-safety: PSL_SUPPORT_DATA_DELETION_BY_USER as Play's single choice (partialDeletion true | false | 'auto90'), drop the removed PSL_DATA_COLLECTION_USER_REQUEST_DELETE (deletionRequest deprecated, check notes it); ship Google's empty form (cli/data/play-data-safety-form.csv, exported 2026-10-12), take every Answer requirement from it and report pairs not in it (formPairIssues) in check, declarations and play data-safety. Pitfall 21 2026-10-12 09:34:12 +08:00
console-flow.test.ts price changes of existing products need --allow-price-changes (play products, play/apple subscriptions, prices import): --yes and flow run --apply --yes confirm creates, first prices and other updates only; without the flag the run writes the rest, names each held change and exits 3 (declined), dry runs mark them owner, flows refuse the flag; lib/price-gate.ts, tests/price-gate.test.ts. CLI wording: console fill leaves what it cannot open or fill to the calling agent's browser tool (console plan / verify) instead of 'yourself'; other 'by hand' output points at the config; do-it-dont-ask test scans cli/ output 2026-10-12 09:38:57 +08:00
console-persist.test.ts tests: profile persistence runs in a real Chrome, in its own shard 2026-10-12 06:27:42 +08:00
console-plan.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
console-session.test.ts console fill: never copy Google session cookies by default (device-bound); own profile in a Chrome started without automation switches 2026-10-12 07:46:38 +08:00
desktop-complete.test.ts play data-safety: PSL_SUPPORT_DATA_DELETION_BY_USER as Play's single choice (partialDeletion true | false | 'auto90'), drop the removed PSL_DATA_COLLECTION_USER_REQUEST_DELETE (deletionRequest deprecated, check notes it); ship Google's empty form (cli/data/play-data-safety-form.csv, exported 2026-10-12), take every Answer requirement from it and report pairs not in it (formPairIssues) in check, declarations and play data-safety. Pitfall 21 2026-10-12 09:34:12 +08:00
desktop-d2.test.ts Sidecar leak check: skip a generic build home (/root in a CI container is a substring of the bun runtime itself); privacy-scan still checks every home 2026-10-11 05:38:41 +08:00
desktop-d3.test.ts storebound api: every App Store Connect and Google Play operation 2026-10-11 23:37:09 +08:00
desktop-dist.test.ts storebound desktop: open the desktop app (with the current app folder) or show the download for this system; --download saves it to ~/Downloads after checking SHA-256 and the minisign signature, never installs 2026-10-11 05:16:59 +08:00
desktop-real-reads.test.ts Real-account read check of the desktop tabs: analytics snapshot stops when every store failed, compare names why a store has no days (Growth shows it), listing screenshot count skips contact sheets; Growth chart as an index on one axis; recorded price answers round-trip the price sheet 2026-10-11 08:06:26 +08:00
desktop-release.test.ts Desktop release pipeline: privacy scan of every artifact, path-free builds, macOS universal app + DMG (Developer ID + notarization or an ad-hoc -unsigned preview) with self-tests of the exact artifacts, signed latest.json, Forgejo workflow for Linux and Windows, root-owned publish step for storebound.dev 2026-10-11 05:16:59 +08:00
do-it-dont-ask.test.ts price changes of existing products need --allow-price-changes (play products, play/apple subscriptions, prices import): --yes and flow run --apply --yes confirm creates, first prices and other updates only; without the flag the run writes the rest, names each held change and exits 3 (declined), dry runs mark them owner, flows refuse the flag; lib/price-gate.ts, tests/price-gate.test.ts. CLI wording: console fill leaves what it cannot open or fill to the calling agent's browser tool (console plan / verify) instead of 'yourself'; other 'by hand' output points at the config; do-it-dont-ask test scans cli/ output 2026-10-12 09:38:57 +08:00
fastlane.test.ts store-locales: verify App Store and Play codes against the official lists (2026-10-11), drop zu, aliases for the 2025 languages, tests 2026-10-11 07:37:18 +08:00
fixtures.ts Tests: gallery data and HTML, variant paths, contact sheet layout 2026-10-10 22:16:38 +08:00
flow.test.ts flow run: a declined confirmation stops the flow; --apply --yes confirms write steps 2026-10-12 08:51:58 +08:00
gallery.test.ts shots: glyph coverage check per language, automatic Noto fallbacks, check errors on fallback / system-font glyphs 2026-10-12 03:05:23 +08:00
glyph-ligatures.test.ts shots check: ligatures no longer read as system-font glyphs (probe spans shaped as one run); --help on every command and group, unknown flags rejected before anything runs 2026-10-12 05:23:37 +08:00
glyphs.test.ts shots: glyph coverage check per language, automatic Noto fallbacks, check errors on fallback / system-font glyphs 2026-10-12 03:05:23 +08:00
growth-config.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
health.test.ts Guarded read-only run of the Play POST read paths: errorIssues:search in UTC, issues failure keeps the vitals, read-only listing / images dry runs 2026-10-11 08:41:55 +08:00
idempotency.test.ts price changes of existing products need --allow-price-changes (play products, play/apple subscriptions, prices import): --yes and flow run --apply --yes confirm creates, first prices and other updates only; without the flag the run writes the rest, names each held change and exits 3 (declined), dry runs mark them owner, flows refuse the flag; lib/price-gate.ts, tests/price-gate.test.ts. CLI wording: console fill leaves what it cannot open or fill to the calling agent's browser tool (console plan / verify) instead of 'yourself'; other 'by hand' output points at the config; do-it-dont-ask test scans cli/ output 2026-10-12 09:38:57 +08:00
listing-plan.test.ts apple listing, play listing, apple appinfo: the dry run prints a real plan (version decision, old -> new per field, draft locales skipped); the real run asks and applies exactly it 2026-10-12 03:29:38 +08:00
listing-translate.test.ts listing check: App Store keywords shown and limited in UTF-8 bytes (96/100 B), other fields in characters 2026-10-12 04:10:28 +08:00
live-reads-2.test.ts tests: all-zero placeholder profile uuid (scrub) 2026-10-12 01:28:32 +08:00
local-fonts.test.ts shots fonts: local font files (title / body / fallback) with cmap coverage, served in place, hash in fonts.json, license note 2026-10-12 04:15:19 +08:00
mcp.test.ts MCP 2026-07-28: stateless revision with server/discover and per-request _meta, still 2025-11-25 compatible 2026-10-10 23:28:10 +08:00
no-handmade-svg.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
originality.test.ts flows, listing translate, scan 2.2 + --originality, prices export with subscriptions, site sections 2026-10-12 01:24:21 +08:00
pitfalls.test.ts pitfalls: apple listing dry run prints a plan now, its allow entry removed 2026-10-12 03:42:45 +08:00
play-post-reads.test.ts price changes of existing products need --allow-price-changes (play products, play/apple subscriptions, prices import): --yes and flow run --apply --yes confirm creates, first prices and other updates only; without the flag the run writes the rest, names each held change and exits 3 (declined), dry runs mark them owner, flows refuse the flag; lib/price-gate.ts, tests/price-gate.test.ts. CLI wording: console fill leaves what it cannot open or fill to the calling agent's browser tool (console plan / verify) instead of 'yourself'; other 'by hand' output points at the config; do-it-dont-ask test scans cli/ output 2026-10-12 09:38:57 +08:00
portfolio.test.ts CLI for desktop D2: doctor, inspect --icon / --listings, reviews drafts / approve, init --dry from embedded templates, iOS phased release share, playwright as optional peer (sidecar bundles playwright-core) 2026-10-11 03:34:45 +08:00
ppo.test.ts Product Page Optimization through the API (apple ppo) and an optional 6.3" iPhone size key 2026-10-10 23:28:10 +08:00
ppp.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
price-gate.test.ts price changes of existing products need --allow-price-changes (play products, play/apple subscriptions, prices import): --yes and flow run --apply --yes confirm creates, first prices and other updates only; without the flag the run writes the rest, names each held change and exits 3 (declined), dry runs mark them owner, flows refuse the flag; lib/price-gate.ts, tests/price-gate.test.ts. CLI wording: console fill leaves what it cannot open or fill to the calling agent's browser tool (console plan / verify) instead of 'yourself'; other 'by hand' output points at the config; do-it-dont-ask test scans cli/ output 2026-10-12 09:38:57 +08:00
prices.test.ts flows, listing translate, scan 2.2 + --originality, prices export with subscriptions, site sections 2026-10-12 01:24:21 +08:00
privacy-scan.test.ts privacy-scan: allow GTK 3's upstream icon export paths (exact prefixes) that linuxdeploy bundles into the AppImage 2026-10-11 06:04:44 +08:00
pure.test.ts play data-safety: PSL_SUPPORT_DATA_DELETION_BY_USER as Play's single choice (partialDeletion true | false | 'auto90'), drop the removed PSL_DATA_COLLECTION_USER_REQUEST_DELETE (deletionRequest deprecated, check notes it); ship Google's empty form (cli/data/play-data-safety-form.csv, exported 2026-10-12), take every Answer requirement from it and report pairs not in it (formPairIssues) in check, declarations and play data-safety. Pitfall 21 2026-10-12 09:34:12 +08:00
release-train.test.ts CLI workspace for many apps and studios, credential profiles, release trains (release status / plan) 2026-10-11 23:35:45 +08:00
revenuecat.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
reviews.test.ts Review replies: storebound reviews list | draft | send, review-replies skill 2026-10-10 23:28:10 +08:00
scan.test.ts scan: TODO / TBD / FIXME / XXX count as placeholder markers only in capitals ('todo' is a real keyword for to-do apps) 2026-10-12 05:06:23 +08:00
serve.test.ts console: agent-first mode (console plan / console verify), verified App Privacy and Play Create app facts 2026-10-12 08:39:12 +08:00
shots.test.ts Tests: capture config, simctl / adb argv builders, frame checks 2026-10-10 21:30:40 +08:00
site-overflow.test.ts fast ci: task graph runner, sharded tests balanced by recorded durations, ci:quick (typecheck + related tests + scrub), Rust only when src-tauri / sidecar build changed, event waits instead of sleeps 2026-10-12 05:05:26 +08:00
specs.test.ts shots: glyph coverage check per language, automatic Noto fallbacks, check errors on fallback / system-font glyphs 2026-10-12 03:05:23 +08:00
store-apps.test.ts apps / health / catalog / validate: fixes from a read-only run against live store accounts 2026-10-11 04:50:26 +08:00
store-ops-apple.test.ts idempotency: WIP 2026-10-12 04:00:58 +08:00
store-ops-reports.test.ts Merge store-ops: TestFlight wait / expire, IAP review submissions, pulls, offers, CPP, events, reports, triage, ASO rank, ads scan 2026-10-12 00:07:26 +08:00
store-ops-text.test.ts apple.name: the App Store name when the plain name is taken; console fill, apple listing, pull, check (30-char error, same-name hint), scan use it 2026-10-12 03:23:43 +08:00
store-real-shapes.test.ts apps / health / catalog / validate: fixes from a read-only run against live store accounts 2026-10-11 04:50:26 +08:00
teaser.test.ts teaser v6: 55.5 s, v5 kept, its desktop part grown to four scenes 2026-10-12 02:32:53 +08:00
testflight.test.ts TestFlight through the App Store Connect API: apple testflight status | groups | testers | what-to-test | info | distribute 2026-10-10 23:28:10 +08:00
tools-path.test.ts play build: find the Android SDK like Android Studio (ANDROID_HOME, ANDROID_SDK_ROOT, sdk.dir, default folder), pass it in the env, stop before Gradle when missing; doctor shows it. apple upload: size, per-part lines, 20 s heartbeat (api, altool, processing wait), per-part and per-call timeouts, --timeout exits 7 with the resume hint. Pitfall 25 2026-10-12 08:59:45 +08:00
tools.test.ts privacy-scan: AppImage squashfs found at the end of the ELF runtime (the runtime contains the magic too); a generic home (/root) is not a term. tools test: 30s timeout (detectTools runs every version command) 2026-10-11 05:59:40 +08:00
upload-progress.test.ts play build: find the Android SDK like Android Studio (ANDROID_HOME, ANDROID_SDK_ROOT, sdk.dir, default folder), pass it in the env, stop before Gradle when missing; doctor shows it. apple upload: size, per-part lines, 20 s heartbeat (api, altool, processing wait), per-part and per-call timeouts, --timeout exits 7 with the resume hint. Pitfall 25 2026-10-12 08:59:45 +08:00
video.test.ts Tests: clip planning, ffmpeg argv, time codes, probe checks, recording argv, preview sets, promo video 2026-10-10 22:22:52 +08:00
wave1.test.ts apple iap-review: size check before upload, delivery state read back after (FAILED shown with Apple's reason), dry run names why it would upload, MISSING_METADATA explained per part; check flags non-screenshot sizes offline 2026-10-12 03:24:41 +08:00
web-assets.test.ts play build: find the Android SDK like Android Studio (ANDROID_HOME, ANDROID_SDK_ROOT, sdk.dir, default folder), pass it in the env, stop before Gradle when missing; doctor shows it. apple upload: size, per-part lines, 20 s heartbeat (api, altool, processing wait), per-part and per-call timeouts, --timeout exits 7 with the resume hint. Pitfall 25 2026-10-12 08:59:45 +08:00
web.test.ts growth extras: prices ppp, ads apple, web, apple adhoc, play share, revenuecat, console fill (+ desktop button) 2026-10-12 00:14:00 +08:00
workspace.test.ts console fill: sign-in detected by URL, frame and text; keeps watching after the fallback; session kept across relaunches; one login across Play developer accounts and App Store Connect teams 2026-10-12 02:54:48 +08:00