Add isolated file-upload form variants for DLP E2E testing
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 72/100
Línea de trabajo
Start at the advanced-fields page and inspect the consuming apps/webext-e2e activity/file-upload DLP specs and their page-object selectors. Add isolated, stable file-upload form fixtures for the requested submit and destination cases, with a harmless same-origin endpoint, then verify the E2E specs can target them without serializing the existing catch-all form.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
The PixieBrix browser-extension file-upload DLP enforcer (activity Phase 5) gates uploads at the <form> submit vector and resolves the upload destination from the form's action — so apps/webext-e2e needs a faithful multipart form to drive it.
Today the advanced-fields page only has a file input nested inside the big catch-all <form class="input">, which has no action, no enctype, and no method. That's enough for the metadata-block-at-change test, but not for faithful submit/destination testing:
- The destination resolves to the page URL only (can't exercise destination-scoped rules).
- Submitting the shared catch-all form drags in every other field and does a real GET navigation.
A temporary E2E is landing against the catch-all form (using a synthetic submit event to avoid navigation), but we'd like a dedicated, isolated fixture to switch to.
Request
Add one or more isolated file-upload forms to the advanced-fields page (separate from <form class="input">), each with stable selectors (ids / aria-labels) and vendor-neutral example domains. Prioritized:
Must-have
- Basic single-file multipart POST form —
<form action="/dlp-upload" method="post" enctype="multipart/form-data">with a labeled<input type="file">+ a submit<button>. A same-originaction(a route that just returns204) so an allowed upload doesn't error the page (tests will also route-intercept it).
Nice-to-have (each exercises a specific enforcer branch)
- Cross-origin
action— same form butaction=\"https://uploads.example.com/files\", to test destination-scopedurlPatternrules (the enforcer judges origin + path). -
formactionoverride — a form with oneactionplus a submit<button formaction=\"https://uploads.example.com/other\">; the enforcer prefers the submitter'sformactionas the destination. -
form=-associated input outside the form —<input type=\"file\" form=\"<form-id>\">living outside the<form>subtree; the enforcer readsform.elementsto catch these. - Multiple-file input —
<input type=\"file\" multiple>for multi-file uploads. - Drag-and-drop dropzone — a labeled dropzone that accepts dropped files, for the
drop/pasteinterception vectors (a later follow-up).
Constraints
- Keep each form isolated from the existing catch-all
<form class="input">so submitting it doesn't serialize unrelated fields. - Stable, documented selectors (ids or
aria-labels) — the E2E page object targets these. - Use neutral
example.comdomains for cross-origin actions. - The endpoint(s) can be a trivial
204(Vercel serverless or a static handler) — no real storage needed.
Consumed by the pixiebrix-source apps/webext-e2e activity/file-upload DLP specs.
- Lenguaje dominante
- HTML
- Estrellas
- 3
- Forks
- 1
- Merge medio
- 46 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pixiebrix/playground
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
pixiebrix/playground#62 · 1 comentario ·
Todos los issues de pixiebrix/playground
Issues similares
-
documentation easy good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
lacs-project/sysknife#518 ·
Los mantenedores suelen responder en 1 día
-
area:game-bot bug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
fil-donadoni/tolaria#4769 ·
Los mantenedores suelen responder en 1 día
-
area:dictation bug P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
uttrflow/uttrflow-swift#2539 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
documentation internal
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
frostney/GocciaScript#1271 ·
Los mantenedores suelen responder en 1 día