- Add e2e/ui/ as peer project to e2e/api/ (own pom.xml, runner, config) - 5 critical UI journeys: upload, delete, analysis, batch-progress, rechunk - 4 local-only tests: sidebar, i18n, error-states, pipeline-options - 1 full happy path workflow covering all modes - Add data-e2e attributes on all tested Vue components (decoupled from CSS) - Add CONVENTIONS.md with 7 golden rules for writing Karate UI tests - Update CI with dedicated e2e-ui job (Chrome headless, --no-sandbox) - Update docs/contributing.md with UI test instructions Closes #124
22 lines
691 B
Gherkin
22 lines
691 B
Gherkin
@ui
|
|
Feature: UI — Language switch FR/EN
|
|
|
|
Scenario: Switch language to French and back to English
|
|
# Open settings page
|
|
* driver uiBaseUrl + '/settings'
|
|
* waitFor('[data-e2e=settings-panel]')
|
|
|
|
# Ensure we start in EN (idempotent)
|
|
* click('[data-e2e=lang-en]')
|
|
* waitFor('[data-e2e=sidebar]')
|
|
* match text('[data-e2e=sidebar]') contains 'Home'
|
|
|
|
# Switch to FR
|
|
* click('[data-e2e=lang-fr]')
|
|
* waitFor('[data-e2e=sidebar]')
|
|
* match text('[data-e2e=sidebar]') contains 'Accueil'
|
|
|
|
# Switch back to EN (leave clean state)
|
|
* click('[data-e2e=lang-en]')
|
|
* waitFor('[data-e2e=sidebar]')
|
|
* match text('[data-e2e=sidebar]') contains 'Home'
|