Skip to content

Port most of the viewer's end-to-end tests here #1

Description

@skjnldsv

The Playwright specs stayed in nextcloud/server when the viewer moved out. That was right for the move itself, but most of them are not really about the server.

Of the 47 specs, the ones that genuinely test integration should stay there: opening from the Files list, public link shares, the sidebar, and the browser history and URL behaviour. Those exercise wiring this repository cannot see, and they are the sanity check that the package a server ships actually works inside it.

The rest — navigation between files, odd file names, per-format media playback, error handling, the compare API, the editor action, the accessibility pass — are about the viewer itself and would run faster and closer to the code here.

That needs a browser test setup in this repository: a playground page mounting the viewer over some fixture files, and Playwright wired to it, roughly as nextcloud-image-editor does.

One thing to settle first, and the reason this is not a mechanical move: the viewer talks to WebDAV and to the previews endpoint, and a playground has neither. Either the fixtures are File nodes whose source is a plain URL served by the dev server, if the viewer copes with a node that is not DAV-backed, or the playground stubs those requests. The first would also give this repository a working demo page for the docs to link to.

  • Decide whether a non-DAV File node is enough to drive the viewer
  • Playground page and Playwright setup
  • Port the specs that are about the viewer
  • Leave the integration specs in the server, and say so in both repos

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    AI assistedstatus: triageNeeds triage - check if valid and reproducibletype: tests🧪 Tests related issue or changes

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions