Conversation
There was a problem hiding this comment.
Pull request overview
Adds Playwright-based end-to-end testing for the Nuxt frontend (with coverage reporting), plus supporting scripts and CI wiring.
Changes:
- Introduces a full Playwright E2E suite (fixtures, setup/teardown, multiple spec files) and Playwright config with HTML + coverage reporting.
- Adds build/test scripts and Makefile targets to run UI E2E tests locally and in CI.
- Refactors some shared types/utilities and Mongo test orchestration to support the new E2E workflow.
Reviewed changes
Copilot reviewed 40 out of 41 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| weblens-vue/weblens-nuxt/types/weblensMedia.ts | Refactors WeblensMedia API surface and updates media row calculations. |
| weblens-vue/weblens-nuxt/types/weblensFile.ts | Removes fetching/icon-related helpers and corresponding icon imports. |
| weblens-vue/weblens-nuxt/playwright.config.ts | Adds Playwright configuration, reporter, and coverage settings. |
| weblens-vue/weblens-nuxt/package.json | Adds E2E scripts/deps; adjusts Vite dependency and adds cleanup script. |
| weblens-vue/weblens-nuxt/nuxt.config.ts | Enables client sourcemaps (needed for coverage mapping). |
| weblens-vue/weblens-nuxt/e2e/upload-flow.spec.ts | Adds E2E coverage for upload workflows and media processing/timeline visibility. |
| weblens-vue/weblens-nuxt/e2e/sort-and-view.spec.ts | Adds E2E coverage for sorting and view mode controls. |
| weblens-vue/weblens-nuxt/e2e/share-interactions.spec.ts | Adds E2E coverage for share modal interactions and accessors. |
| weblens-vue/weblens-nuxt/e2e/share-browsing.spec.ts | Adds E2E coverage for public share link browsing and share root navigation. |
| weblens-vue/weblens-nuxt/e2e/setup.spec.ts | Adds E2E coverage for initial server setup flow. |
| weblens-vue/weblens-nuxt/e2e/settings.spec.ts | Adds E2E coverage for settings pages, API keys, theme toggle, and user creation. |
| weblens-vue/weblens-nuxt/e2e/search-filters.spec.ts | Adds E2E coverage for local filtering, recursive search, and regex toggle. |
| weblens-vue/weblens-nuxt/e2e/presentation.spec.ts | Adds E2E coverage for presentation mode plus error page coverage. |
| weblens-vue/weblens-nuxt/e2e/password-change.spec.ts | Adds E2E coverage for password change success/failure paths. |
| weblens-vue/weblens-nuxt/e2e/navigation.spec.ts | Adds E2E coverage for redirects and route protection. |
| weblens-vue/weblens-nuxt/e2e/multi-user.spec.ts | Adds E2E coverage for non-admin user flows and cleanup. |
| weblens-vue/weblens-nuxt/e2e/media-timeline.spec.ts | Adds E2E coverage for timeline mode controls and filters. |
| weblens-vue/weblens-nuxt/e2e/login.spec.ts | Adds E2E coverage for login validation, errors, and authenticated redirect. |
| weblens-vue/weblens-nuxt/e2e/keyboard-shortcuts.spec.ts | Adds E2E coverage for keyboard shortcuts across the app. |
| weblens-vue/weblens-nuxt/e2e/files.spec.ts | Adds baseline file browser E2E coverage (folders, rename, trash, toggles). |
| weblens-vue/weblens-nuxt/e2e/file-preview.spec.ts | Adds E2E coverage for preview/presentation behavior with uploaded files. |
| weblens-vue/weblens-nuxt/e2e/file-operations.spec.ts | Adds broad E2E coverage for file operations (upload/download/share/history/trash). |
| weblens-vue/weblens-nuxt/e2e/file-history.spec.ts | Adds E2E coverage for history panel and rewind indicator behavior. |
| weblens-vue/weblens-nuxt/e2e/empty-states.spec.ts | Adds E2E coverage for empty states and invalid navigation. |
| weblens-vue/weblens-nuxt/e2e/download.spec.ts | Adds E2E coverage for single and multi-file download paths. |
| weblens-vue/weblens-nuxt/e2e/dev-actions.spec.ts | Adds E2E coverage for developer/admin actions and users table. |
| weblens-vue/weblens-nuxt/e2e/context-menu.spec.ts | Adds E2E coverage for context menu behaviors across contexts (folder/file/trash). |
| weblens-vue/weblens-nuxt/e2e/global-teardown.ts | Adds teardown to stop the spawned backend process after tests. |
| weblens-vue/weblens-nuxt/e2e/global-setup.ts | Adds setup to reset DB/fs and spawn backend for the E2E suite. |
| weblens-vue/weblens-nuxt/e2e/fixtures.ts | Adds automatic JS coverage collection fixture for monocart reporter. |
| weblens-vue/weblens-nuxt/components/molecule/PresentationMediaContent.vue | Updates PDF check callsite to renamed IsPDF() method. |
| weblens-vue/weblens-nuxt/.gitignore | Ignores Playwright output/report/cache directories. |
| scripts/test-weblens.bash | Uses shared log file helper; tweaks mongo stack invocation. |
| scripts/test-playwright.bash | Adds end-to-end test runner script (mongo + builds + PW run). |
| scripts/lib/mongo.bash | Refactors mongo orchestration to “stack-name” based API and compose naming. |
| scripts/lib/misc.bash | Adds get_log_file helper used by test scripts. |
| docker/mongo.compose.yaml | Makes mongo container names/ports stack-configurable for parallelism. |
| api/go.mod | Updates Go version directive. |
| Makefile | Adds UI E2E targets and improves clean behavior. |
| .github/workflows/test.yml | Adds CI job to run Playwright E2E and upload the report artifact. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.