diff options
| author | Adam Soltys <[email protected]> | 2026-11-15 14:13:08 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-11-15 14:13:08 -0700 |
| commit | f7fe37ef75836715580e3097c7e7bc75df819bef (patch) | |
| tree | d43f38574e54da723d1224ea01a479e92abf8680 /tools/signup-quick-test.js | |
| parent | 5c94e68ba962bab6b219b71985d49247a1e0ac48 (diff) | |
| download | coinosv3-f7fe37ef75836715580e3097c7e7bc75df819bef.tar.gz coinosv3-f7fe37ef75836715580e3097c7e7bc75df819bef.zip | |
Ways back in: Passkey auth, Google auth, Nostr auth, Pen and paper. "Let's call recovery phrase 'Pen and paper' with a suitable icon and no need to show it twice just make it similar to the other buttons. Instead of saying Add... for everything let's try 'Passkey auth', Google auth, Nostr auth" (Adam, 2026-11-15). The card's buttons drop Add…; the recovery phrase is the fourth button (a pen over a sheet, ✓ once the words have been seen) instead of a row with Show, and the separate Recovery phrase card under it appears only when Pen and paper asks for it (scrolled to, words masked first). Accounts without the card (watch-only, imported keys) keep the phrase card as before. signup-quick-test, onboard-backup, balance-settings-row and features-smoke pass
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VMan6SwkivduFDDkMmnXjZ
Diffstat (limited to 'tools/signup-quick-test.js')
| -rw-r--r-- | tools/signup-quick-test.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/signup-quick-test.js b/tools/signup-quick-test.js index c80547d..a26a9ef 100644 --- a/tools/signup-quick-test.js +++ b/tools/signup-quick-test.js @@ -90,6 +90,7 @@ try { await openWalletPage(); check('Settings → Wallet opens with Ways back in', !!(await page.$('.ways-back')) && /ways back in/i.test(await text())); const views = await page.$$eval('.balance-settings-row[data-view]', (l) => l.map((e) => e.dataset.view)); + check('the ways back in read as auth buttons', (await page.$$eval('.ways-back-add', (l) => l.map((e) => e.textContent.trim()))).join('|') === 'Passkey auth|Google auth|Nostr auth|Pen and paper', (await page.$$eval('.ways-back-add', (l) => l.map((e) => e.textContent.trim()))).join('|')); check('only Spending is listed, with Add a savings account', views.join() === 'spending' && !!(await page.$('#add-savings')), views.join()); if (process.env.SHOT) { await page.evaluate(() => document.querySelector('.ways-back').scrollIntoView()); await page.screenshot({ path: process.env.SHOT }); } // a passkey: the relays are stubbed, so the publish fails offline — the @@ -101,9 +102,10 @@ try { const backups = await page.evaluate(() => (window.__relayGuard.events || []).filter((e) => e.kind === 30078 && e.tags.some((t) => t[0] === 'd' && t[1] === 'coinos:wallet:v1'))); check('the reminder line is gone once there is a way back in', await (async () => { await page.goBack(); await page.goBack(); await sleep(600); const gone = !/add a way back into your account/i.test(await text()); await openWalletPage(); return gone; })()); // the list and the reminder, as the app sees them (record a method directly) - await page.evaluate(() => [...document.querySelectorAll('button')].find((b) => b.textContent.trim() === 'Show')?.click()); + check('the phrase card waits behind Pen and paper', !(await page.$('.recovery-card'))); + await page.evaluate(() => document.querySelector('.ways-back-add[data-way="phrase"]')?.click()); await sleep(500); - check('Show opens the recovery phrase card', /recovery phrase/i.test(await text())); + check('Pen and paper opens the recovery phrase card', !!(await page.$('.recovery-card .words'))); await page.evaluate(() => document.getElementById('add-savings')?.click()); await sleep(800); const views2 = await page.$$eval('.balance-settings-row[data-view]', (l) => l.map((e) => e.dataset.view)); |
