veza/apps
senke 5349b80052 fix(e2e): stable upload-trigger testid, unskip v107-e2e-04 — rc1-day2 root cause #2
12 @critical failures on 27-upload + 43-upload-deep + the skipped
04-tracks:207 shared one root cause: the LibraryPageToolbar "New"
button (renders t('library.new'), localized to "New"/"Nouveau") was
targeted by regex `/upload|uploader/i` or `/upload|importer|
ajouter/i` — none matched the actual label. The 2026-04-08
console.log → expect conversion pinned assertions against a label
the UI never produced.

Fix: `data-testid="library-upload-cta"` on the toolbar CTA +
aria-label fallback ("Upload track"). Tests target by testid,
immune to future i18n/copy changes.

Results after fix:
  * 27-upload.spec.ts — 6/7 now pass. The remaining failure
    (test 54 "full upload flow") is a DIFFERENT root cause:
    dialog doesn't close after upload submit (60s timeout).
    Not a locator issue — tracked separately as #55 (upload
    backend hangs on submit, suspected ClamAV or validation
    silently failing in test env).
  * 04-tracks.spec.ts:207 — unskipped, passes (was #50, now
    closed; SKIPPED_TESTS.md updated with resolution note).
  * 43-upload-deep.spec.ts helper — migrated to the same testid
    so the "button not found" class of failure is gone.
    Remaining 43-upload-deep failures are same upload-flow
    class as 27-upload:54 (tracked in #55).

Gain: 8/12 upload-family tests recovered. Remaining 4 are a
separate investigation.

Post-fix validation: ran `27-upload + 04-tracks` under
Playwright — 7 passed, 2 failed, 1 skipped (skip unrelated).
The 2 failures are both the #55 submit-hang root cause, not
the locator one.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:38:28 +02:00
..
web fix(e2e): stable upload-trigger testid, unskip v107-e2e-04 — rc1-day2 root cause #2 2026-04-18 16:38:28 +02:00