diff options
| author | Adam Soltys <[email protected]> | 2026-10-07 08:27:40 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-10-07 08:27:40 -0700 |
| commit | dfb017c1b10cb52c24f4f0bcf745c6abea11b98f (patch) | |
| tree | b8150ed4805f206947e2475fe433be953c46fb70 /tools/youtube-embed-test.js | |
| parent | b70e169bb5b5beccb89fd59427726e32d414b4a5 (diff) | |
| download | coinosv3-dfb017c1b10cb52c24f4f0bcf745c6abea11b98f.tar.gz coinosv3-dfb017c1b10cb52c24f4f0bcf745c6abea11b98f.zip | |
Feed, composer and zap tests follow today's app
- feed tests reach the Feed from the bottom nav (the chat-home row is
gone) and seed this wallet's last feed as Following (new wallets open on
Popular, c89050e) plus the author's profile (readiness gate)
- post-actions: its picture is made locally (it read another session's
scratchpad), the post's own ⋯ (not the feed header's), a real tap on the
DM picture (a tap beside a fitted picture is a tap on the post)
- composer-media / video-compress: intercept every public media host
(ditto is first now; the tests were uploading for real)
- compose-preview: Preview is one toggle button (aria-pressed)
- thread-reply: harness has a wallet (else visitor: Reply asks to sign in),
registers <coinos-text>, holds the root's id-only query; atomic send tap
- video-unmute: stubs what videoNode reaches outside its slice; preload
none means the in-view clip is told to load
- zap-deep-profile: zap button scrolled to mid-screen (the bottom nav
covered it)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'tools/youtube-embed-test.js')
| -rw-r--r-- | tools/youtube-embed-test.js | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/youtube-embed-test.js b/tools/youtube-embed-test.js index 1c66676..5d50b35 100644 --- a/tools/youtube-embed-test.js +++ b/tools/youtube-embed-test.js @@ -40,13 +40,14 @@ await page.evaluate(([k, pk]) => { { id: 'f'.repeat(64), pubkey: pk, kind: 1, created_at: now - 120, content: 'a shorts one https://www.youtube.com/shorts/abc123XYZ_-', tags: [] }, { id: '0'.repeat(64), pubkey: pk, kind: 1, created_at: now - 180, content: 'not a video https://example.com/watch?v=nope', tags: [] }, ])); + localStorage.setItem(k + ':profiles', JSON.stringify({ [pk]: { name: 'Tuber', t: Date.now() } })); + localStorage.setItem('btc-wallet-feed:' + k, 'following'); // new wallets open on Popular }, [base, A]); await page.reload({ waitUntil: 'domcontentloaded' }); await waitText('receive', 20000); -await page.evaluate(() => { const b = [...document.querySelectorAll('button')].find((e) => /message/i.test(e.getAttribute('aria-label') || '')); if (b) b.click(); }); -await sleep(1000); -await page.evaluate(() => { const e = [...document.querySelectorAll('.item')].find((n) => /feed/i.test(n.textContent)); if (e) e.click(); }); -await sleep(3500); +await page.evaluate(() => document.querySelector('.app-nav-button[aria-label="Feed"]').click()); +for (let i = 0; i < 60 && !(await page.$('.notes-feed:not([data-booting]) > .row')); i++) await sleep(250); +await sleep(1500); let ok = true; const check = (n, c, d = '') => { console.log(` ${c ? '✓' : '✗'} ${n}${d ? ' — ' + d : ''}`); if (!c) ok = false; }; |
