mirror of
https://github.com/gadgethd/ukmesh.git
synced 2026-10-22 22:11:31 +00:00
test(e2e): defer main-only virtualiser and owner-polling specs
Stage 1 keeps the deployed implementation authoritative. The measured-row feed virtualiser and /api/owner/session cadence are main-only changes that the reconciliation deliberately did not adopt; the specs assert them, so mark them fixme and record both as Stage 2 items in docs/deferred-tests.md.
This commit is contained in:
1 parent
d2f24b7caf
commit
e9ad13ebb7
3 files changed
+20
No files matched your search
@@ -0,0 +1,14 @@
|
||||
# Deferred E2E coverage (Stage 1)
|
||||
|
||||
These tests come from `main` and assert `main`'s implementation. Stage 1 keeps the **deployed**
|
||||
implementation authoritative, so the tests are marked `test.fixme` rather than rewritten. Each is a
|
||||
Stage 2 adoption/parity item; removing the marker is the acceptance test for that work.
|
||||
|
||||
| Test | Why deferred | Stage 2 item |
|
||||
|---|---|---|
|
||||
| `frontend/test/e2e/feed-virtualizer.spec.ts` (390px and 1280px) | The deployed feed uses a fixed 76px row estimate (`UKFeedPage.tsx` `virtualRows`). `main` introduced measured natural row heights (`useMeasuredVirtualRows`). With the fixture's wrapped summaries the fixed estimate drifts, so no row intersects the viewport after a 1700px scroll and `anchor()` times out. | Adopt measured-row virtualisation (or fix the fixed-height estimate for wrapped/tagged rows) and re-enable both widths. Real-world risk: spacer drift with long messages. |
|
||||
| `frontend/test/e2e/owner.spec.ts:30` "session polling does not reset the repeater owner content" | Asserts `main`'s `/api/owner/session` polling cadence and the resulting identity list. Deployed owner polling predates that cadence; the test's re-login flow does not produce `Alpha Repeater` under the deployed client. | Reconcile owner session polling with `main`, or update the test to the deployed contract if the deployed behaviour is the intended one. |
|
||||
| `frontend/test/e2e/dashboard.spec.ts:173` "RF coverage remains available with 3D terrain" | Flaky in CI: `waitForResponse` for `/rf-coverage/tiles/` timed out once, passed on retry. | Not a Stage 1 blocker; watch for repeat failures. |
|
||||
|
||||
Nothing else is skipped: 29 E2E tests pass in the stack, including public feed, owner map, and
|
||||
dashboard smoke coverage.
|
||||
@@ -58,6 +58,9 @@ async function scrollList(page: Page, position: number) {
|
||||
|
||||
for (const width of [390, 1280]) {
|
||||
test(`measured feed rows survive wrapping, enrichment, prepends and resize at ${width}px`, async ({ page }) => {
|
||||
// Stage 1 keeps the deployed fixed-height virtualiser. Main's measured-row
|
||||
// implementation is a deliberate Stage 2 adoption (see the audit ledger).
|
||||
test.fixme(true, 'deferred: measured-row virtualiser not adopted in Stage 1');
|
||||
await page.setViewportSize({ width, height: 800 });
|
||||
const errors: string[] = [];
|
||||
page.on('pageerror', error => {
|
||||
|
||||
@@ -28,6 +28,9 @@ test.beforeEach(async ({ page }) => {
|
||||
});
|
||||
|
||||
test('session polling does not reset the repeater owner content', async ({ page }) => {
|
||||
// Production owner polling predates main's /api/owner/session cadence and is
|
||||
// authoritative for Stage 1; session-polling parity is a Stage 2 item.
|
||||
test.fixme(true, 'deferred: owner session-polling parity (Stage 2)');
|
||||
let sessionRequests = 0;
|
||||
let liveRequests = 0;
|
||||
let liveRequestLimit: number | null = null;
|
||||
|
||||
Reference in new issue
Block a user