Skip to content

test: add Playwright smoke tests for the settings pages - #151

Merged
oleksandr-nc merged 1 commit into
mainfrom
test/playwright-smoke-tests
Sep 21, 2026
Merged

oleksandr-nc merged 1 commit into
mainfrom
test/playwright-smoke-tests

Conversation

@oleksandr-nc

Copy link
Copy Markdown
Contributor

CI builds the frontend but never runs it, so a change that breaks a page at runtime, such as a dependency update or a global that Nextcloud no longer provides, goes through with every check green. This adds a Playwright suite that runs the built app in a real Nextcloud.

The suite runs the app in a real Nextcloud

playwright/start-server.mjs starts the Nextcloud test container of @nextcloud/e2e-test-server with this app mounted and enabled, the same setup the activity app uses. The workflow runs composer install --no-dev first, as the app loads its dependencies from vendor/. PLAYWRIGHT_BASE_URL points the suite at an existing instance instead.

The settings pages are covered

The tests check that the admin section in Connected accounts and the personal section in Data migration render, and that the popup switch and the navigation link switch round-trip through /admin-config and /config. Every test also fails on an uncaught exception and on a failing request to one of the app's own routes, so a component that throws while loading turns the suite red.

CI runs it against the oldest and the newest supported server

The workflow takes both ends of the version range from info.xml through the version matrix action, currently stable33 and master. It also runs on pushes to main, so the combined result of several merged pull requests is tested as well.

馃 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

CI builds the frontend but never runs it, so a change that breaks a page
at runtime, like a dependency update or a global Nextcloud no longer
provides, passes with every check green.

The suite runs the built app with its composer dependencies in the
Nextcloud test container of @nextcloud/e2e-test-server, checks that the
admin and personal settings sections render and that a switch of each
round-trips through the API, and fails on any uncaught exception or
failing request of the app. CI runs it against the oldest and the newest
server the app supports.

Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
@oleksandr-nc
oleksandr-nc force-pushed the test/playwright-smoke-tests branch from 85e94ed to 7150b48 Compare September 18, 2026 09:59
@oleksandr-nc
oleksandr-nc merged commit 68e32ff into main Sep 21, 2026
23 checks passed
@oleksandr-nc
oleksandr-nc deleted the test/playwright-smoke-tests branch September 21, 2026 08:34
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