PLN056 — Pipeline Staging Timeout Fix — Evidence
Contexto
PLN056 corrigiu conflitos de staging timeout adicionando os jobs E2E das suites
admin-churn (96) e admin-pricing (97) ao pipeline CI/CD (dev, uat, staging).
O fix foi entregue via MR !229 (commit 87fa7f0) — já mergeado em dev.
Commits Entregues
| Commit | Descrição |
|---|---|
87fa7f0 | ci(churn): registar suite 96-admin-churn em dev/uat/staging (MR !229) |
0c521e4 | ci(pricing): registar suite 97-admin-pricing em dev/uat/staging (MR !241) |
Jobs Adicionados ao Pipeline
Suite 96 — admin-churn
| Ambiente | Job | Extends |
|---|---|---|
| dev | e2e:dev:admin-churn | .e2e_platform_dev |
| uat | e2e:uat:admin-churn | .e2e_platform |
| staging | e2e:staging:admin-churn | .e2e_platform |
Suite 97 — admin-pricing
| Ambiente | Job | Extends |
|---|---|---|
| dev | e2e:dev:admin-pricing | .e2e_platform_dev |
| uat | e2e:uat:admin-pricing | .e2e_platform |
| staging | e2e:staging:admin-pricing | .e2e_platform |
Ambas as suites adicionadas a generate:evidence e promote:uat-to-staging needs.
E2E Suite 97 — admin-pricing: Testes
Testes implementados (PRICING-01..05)
| ID | Descrição | Âncora E2E | Data-safe |
|---|---|---|---|
| PRICING-01 | /admin/pricing carrega sem crash | data-testid="pricing-section" visível | — |
| PRICING-02 | Secção tem tabela ou empty state | hasTable OR hasEmpty | ✅ |
| PRICING-03 | Se dados: direcção (Aumentar/Reduzir/Manter) | text=/Aumentar|Reduzir|Manter/i | ✅ |
| PRICING-04 | Se dados: preço actual em formato € | text=/€\d/ | ✅ |
| PRICING-05 | Se dados: confiança em formato % | text=/\d+%/ | ✅ |
Viewports testados
| Viewport | Resolução | Mobile |
|---|---|---|
| mobile | 390×844 | ✅ isMobile: true |
| tablet | 810×1080 | — |
| desktop | 1280×900 | — (Desktop Chrome) |
Resultados de Testes
Backend — pytest (5/5 PASS)
PASSED src/tests/test_pricing_suggest.py::test_pricing_suggest_requires_auth
PASSED src/tests/test_pricing_suggest.py::test_pricing_suggest_requires_admin
PASSED src/tests/test_pricing_suggest.py::test_pricing_suggest_empty
PASSED src/tests/test_pricing_suggest.py::test_pricing_suggest_returns_list
PASSED src/tests/test_pricing_suggest.py::test_pricing_suggest_schema
Frontend — TypeScript
npx tsc --noEmit → 0 errors
Métricas
| Métrica | Valor |
|---|---|
| Ficheiros modificados (PLN096) | 11 |
| Commits entregues (PLN096) | 6 |
| Testes pytest | 5/5 PASS |
| Erros TypeScript | 0 |
| Testes E2E criados | 5 (PRICING-01..05) |
| Viewports cobertos | 3 (mobile/tablet/desktop) |
| Idiomas i18n | 6 (PT/EN/FR/ES/IT/DE) |
| Jobs CI/CD adicionados | 6 (churn+pricing × 3 ambientes) |
MRs
| MR | Branch | Target | Estado |
|---|---|---|---|
| !229 | fix-pipeline-staging-timeout-conflicts | dev | MERGED ✅ |
| !241 | feat/pricing-suggest | dev | Aberto (PLN096) |
| !242 | evidence/PLN056-pipeline-staging-timeout | dev | Aberto (este MR) |
Conclusão
PLN056 resolveu os conflitos de staging timeout ao registar correctamente as suites E2E das páginas admin (churn e pricing) no pipeline CI/CD em todos os ambientes. O fix core está mergeado (MR !229). A suite admin-pricing foi adicionada via PLN096.
Status: FECHADO ✅
Data: 2026-04-14