Skip to content

BL-16818 Tables 5/6: the end-to-end suite - #8329

Open
hatton wants to merge 2 commits into
BL-16818-e2e-hooksfrom
BL-16818-e2e-tests
Open

BL-16818 Tables 5/6: the end-to-end suite#8329
hatton wants to merge 2 commits into
BL-16818-e2e-hooksfrom
BL-16818-e2e-tests

Conversation

@hatton

@hatton hatton commented Sep 7, 2026

Copy link
Copy Markdown
Member

Fifth of six stacked PRs splitting #8315. Base is BL-16818-e2e-hooks (#8328).

Thirty-eight Playwright tests across three files, plus the helper layer they need. Pure test code: every production hook they lean on was reviewed in #8328, so this can be skimmed.

  • tables-core.spec.ts — making a table and editing it.
  • tables-extended.spec.ts — the harder ways to use one: a table in a cell, a video in a cell, undo across CKEditor and the table's own history, zoom, resizing, copying a page into another book.
  • tables-gating.spec.ts — what a person below the Pro tier, or with the experiment off, can and cannot do with a book that already has a table. This is the file worth reading closely: a subscriber's book has to stay translatable by someone with no subscription.

helpers/tables.ts is the bulk of the helper work. The rest is small additions to the existing helpers, plus AUTOMATION-DEBT.md entries for what this suite could not reach — a table's own menus can only be found by their English words, nothing in the markup marks the boundary between two rows, and a picture in a cell leaves a drawing surface that swallows presses.

What the rebase onto master changed

The tables work started before several things landed on master, and where the two disagreed master won:

  • master's canvas element helpers (the "..." menu's data-subscription-gated handling, openCanvasTool through the page's own canvas, the palette-item drag)
  • master's Change Layout wait, which marks the page element rather than watching for an editable text box
  • master's build-staleness check in launchBloom.ts
  • master's general e2e/nextFileToChoose, in place of the branch's video-only endpoint
  • master's kEnterpriseSubscriptionCode (Test-727011-1339), rather than the second test subscription code the branch had minted

Kept from the branch: dragCanvasElementSide, getPaletteItemsOffered, getCanvasRect, enableTool, the camera-permission grant before the Sign Language tool opens, and the backdrop fallback when closing a canvas element menu.

The Alphabet Book page and its three tests are not here; they are BL-16823.

Checks

tsc --noEmit clean, Prettier clean, and playwright test --list reports 38 tests in the three files. The suite itself has not been run end to end on this branch — it needs the whole stack merged and a built Bloom, which is the last item in the split plan.

[Claude Opus 5 following a prompt from Hatton]

Devin review


This change is Reviewable

Fifth of six PRs splitting BL-16818. Thirty-eight Playwright tests across
three files, plus the helper layer they need. Pure test code: every
production hook they lean on was reviewed in the PR before this one.

tables-core covers making a table and editing it, tables-extended the
harder ways to use one (a table in a cell, a video in a cell, undo across
CKEditor and the table's own history, zoom, resizing, copying a page into
another book), and tables-gating what a person below the Pro tier, or with
the experiment off, can and cannot do with a book that already has a table.
That last file is the one worth reading closely: a subscriber's book has to
stay translatable by someone with no subscription.

helpers/tables.ts is the bulk of the helper work. The rest is small
additions to the existing helpers, and the notes in AUTOMATION-DEBT.md for
what this suite could not reach: a table's own menus can only be found by
their English words, nothing in the markup marks the boundary between two
rows, and a picture in a cell leaves a drawing surface that swallows
presses.

Merging this on top of master rather than the original branch changed a few
things. The suite keeps master's canvas element helpers, its Change Layout
wait, its build-staleness check and its general nextFileToChoose hook, all
of which came after the tables work started and are better than what that
work had. It keeps master's kEnterpriseSubscriptionCode rather than minting
a second test subscription code.

The Alphabet Book page and its three tests are not here; they are BL-16823.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant