- 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
14 lines
515 B
Gherkin
14 lines
515 B
Gherkin
@ignore
|
|
Feature: Helper — Upload a PDF document
|
|
|
|
# Callable feature: returns { docId, response }
|
|
# Usage: * def result = call read('classpath:common/helpers/upload.feature') { file: 'small.pdf' }
|
|
|
|
Scenario:
|
|
* def filePath = 'classpath:common/data/generated/' + file
|
|
Given url baseUrl
|
|
And path '/api/documents/upload'
|
|
And multipart file file = { read: '#(filePath)', filename: '#(file)', contentType: 'application/pdf' }
|
|
When method POST
|
|
Then status 200
|
|
* def docId = response.id
|