Skip to content

test: ebook - Verify manuscript rendering and reader interactions #382

Open

Description

@ashleyshaw

Outcome

Add focused source-to-reader and interaction regression coverage.

Verified context

Existing reader controls are substantial; #14 owns shared frontend test infrastructure. Coverage must test actual source integration rather than assume new controls are needed.

Scope

Extend existing tooling with eBook fixtures and journeys, not manuscript writing.

Acceptance criteria

  • Tests cover ordering, contents/drawer destinations, page breaks and supported page variants.
  • Boundaries, empty content, corrupt progress and repagination are covered.
  • Keyboard, buttons, touch, settings and reduced motion are exercised across layouts.
  • Actual test commands/results and the Markdown-to-reader editing path are documented; failures remain explicit.

Boundaries and sources

Creation defines work only; it does not start implementation. Preserve unrelated code, protected assets, editorial wording and existing records. Do not fabricate content, identity, media, manuscript chapters, dates or engagement data. Use approved repository-native authoring, validation, preview and publication decisions; do not provision an external CMS or database. Existing editorial verification remains with its current issues. All acceptance criteria remain unchecked until evidenced.

Repository evidence was inspected on develop at 4ecdb26d9655a48bf000a7c89da2f70383edce87. Recheck before implementation; no build or browser tests were run for this draft. Follow repository instructions and applicable Spec Kit requirements. Paths below refer to this repository.

Sources: repository instructions, application, editorial content.

Branch instructions

  • Repository: lightspeedwp/ThisOneTimeOnAcidCom
  • Proposed branch: test/ebook-reader-regression
  • Base: develop
  • Naming policy: local guide, validator, organisation strategy.
  • Pull request template: Unresolved for this prefix in the inspected routing evidence; verify the current repository/organisation template before opening a PR.
  • Constraints: Preserve unrelated changes; do not force-push, merge or deploy. Complete applicable Spec Kit requirements before implementation.
  • Conflicts or missing evidence: Proposed branch, not an existing branch; collision freedom is unverified. Recheck current branch routing and open governance changes, including PR automation: repo-governance - Add governance automation and validation #346. Older instructions claim branch rules are absent; the inspected local guide and executable validator establish the current convention. This draft creates no branch or pull request.

Unanswered clarification questions

These questions clarify the existing regression-coverage scope without duplicating shared test infrastructure or assuming tests have passed.

  1. Which existing test files should be extended or refactored, and which new files, if any, are required?
  2. Which approved manuscript fixtures and expected results should establish ordering, contents, page-break and page-variant correctness?
  3. Which browser, viewport, layout and input combinations are required for the existing interaction scenarios?
  4. Which existing test commands should run this coverage, and where should revision-specific results and failures be recorded?
  5. What is the verified Markdown-to-reader editing path, and which parts should the testing documentation explain?

Branch instructions — batch 32 audit addendum

  • Repository: lightspeedwp/ThisOneTimeOnAcidCom; implementing target: this reader-regression issue, counterpart GitHub issue 382.
  • Proposed branch: test/ebook-reader-regression; base: refreshed develop, verified at 4ecdb26d9655a48bf000a7c89da2f70383edce87 (R). Shared governance baseline: 8f28eca80bff198879f7aaf496717dc0551bb32e (G).
  • Branch state: proposed new branch, not created/reused. Static inspection of the local guide and validator supports test/ and the proposed syntax. No matching branch/exact-head PR found. Recheck before creation; absence is not reservation. No validator was executed.
  • Instructions: follow repository AGENTS, CONTRIBUTING, guidelines reading order and applicable reader/accessibility guidance. Older assertions that tests/branch rules are absent conflict with current executable configuration. No governance cleanup is included.
  • Template unresolved: local .github/workflows/pr-template-routing.yml suggests shared pr_test.md; shared config.yml maps test/ to pr_chore.md. Both are evidence, not approval to choose silently. Resolve selection before preparing a PR; routing does not prove native inheritance or automatic body insertion. Do not change routing/templates, create local copies or adopt example metadata/closing placeholders.
  • Association safeguards: no allowed closing targets for this provisional contribution. Review future identifiers, links, commits and native associations separately; non-closing wording is not guaranteed association-safe. Omit coordination-parent identifiers/URLs from future branches, PR metadata and coding prompts while effects remain unverified. Never use an epic as native development/closing target.
  • PR346 remains open/unmerged governance context, not delivered infrastructure or a branch to reuse. No branch/PR operations, execution, merge or deployment authorised.

Expected file changes

Provisional bounded plan, not implementation authority. Parent directories exist and proposed destinations were absent at R. Fixture paths remain unresolved: approve their exact locations separately; do not fabricate manuscript content.

Operation Path Intended change Evidence/revision Approval or dependency
Create, conditional/proposed e2e/ebook-source-rendering.spec.ts Source-to-reader ordering, contents destinations, page breaks, variants and invalid/empty input R: Playwright discovers e2e/; current loader/rendering pipeline inspected #380 approved sources/results and isolated fixture-loading contract
Create, conditional/proposed e2e/ebook-reader.spec.ts Boundaries, drawer, keyboard/buttons/touch, settings, reduced motion and collection-state coverage R: active reader, pagination helpers and preferences inspected #14 startup/infrastructure evidence; #381 continuity/recovery contract; avoid duplicating its proposed continuity test
Create, conditional/proposed docs/ebook-reader-testing.md Verified editing/fixture path, targeted commands, browser/layout matrix and revision-specific outcomes R: existing docs directory, package scripts and Playwright configuration Agreed contracts and actual execution evidence; no claimed results in advance

No moves/deletions. Shared infrastructure, source loading and reading-continuity work remain incomplete. Batches 26, 30 and 31 remain pending sync approval, not delivered prerequisites.

The active chain is bookContentLoader.ts → ebook-pages.ts → EbookPage.tsx. The loader targets absent /src/content/book/; root content/book/ inventory does not establish editorial approval or completeness. Exclude the brief and missing/unapproved material. Testing fallback TypeScript data does not prove manuscript integration.

Agree the browser/layout/input matrix, including the current 1024px spread boundary. Coordinate font/resize/orientation, single/spread, reload, changed/removed sources and legacy/corrupt/blocked-storage cases with continuity coverage. Playwright currently builds locally; remote preview mode is not implemented. Jest discovers JavaScript tests and lacks a TypeScript transform; alternative harness/configuration changes require a revised preview.

Complete applicable Spec Kit planning first. Specification allocation/routing and exact artefact paths remain unresolved; no number reserved or allocation run. Preview those paths separately.

Exclude runtime fixes, manuscript/editorial changes, fabricated content, dependencies/configuration, workflows/templates, protected assets, Supabase, attribution/changelog, generated output and unrelated cleanup. Resolve changelog handling separately. Additional paths/material changes require revised preview and approval. No builds, scripts, browser tests or validators ran; acceptance remains unchecked. Keep restricted material/credentials out of public sync. Description approval changes no status, ownership, labels, hierarchy or PR associations and grants no implementation authority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions