Zum Hauptinhalt springen

Evidence: Go-Live Readiness — 2026-03-31

Testes Backend

  • Total: 548 passed, 1 skipped, 0 failed
  • Tempo de execucao: 205s (3m25s)
  • Runtime: Python 3.12.3, pytest-8.3.4

Modulos cobertos (28 ficheiros de teste)

ModuloFicheiro
Admin Dashboard + Stripe overviewtest_admin.py
Afiliados (auth, admin, portal)test_affiliates.py
Audit log + entity historytest_audit.py
Auth (login admin/client, register, refresh, me)test_auth.py
Billing (checkout, subscriptions, invoices, payments, refunds)test_billing.py
Clientes (CRUD, search, auth)test_clients.py
Documentacao publica (topics, pages, search, i18n)test_docs.py
Dominios (Enom check/register, DNS)test_domains.py
Email logtest_email_log.py
Fiscal (Moloni invoices, credit notes)test_fiscal.py
Invoicing propriotest_invoicing.py
Moloni OAuth2 + APItest_moloni.py
Notificacoes (Zeptomail, templates, sysadmin)test_notifications.py
Onboarding (tours, progresso, idempotencia)test_onboarding.py
Portal cliente (dashboard, servicos, faturas)test_portal.py
Produtos + planos + addon slotstest_products.py
Provisioning (rotas HTTP)test_provisioning.py
Provisioning SDK (EventBus, BookingSDK, VirtualStore, slugify)test_provisioning_sdk.py
Orcamentos (quotes, accept, convert)test_quotes.py
Relatoriostest_reports.py
Services (Cloudflare, Hetzner)test_services.py
Configuracoes + moedastest_settings.py
Stripe Connect (onboard, status, dashboard, payout, webhook)test_stripe_connect.py
Sugestoestest_suggestions.py
Tickets + replies + departmentstest_tickets.py
Website publico (produtos, contacto)test_website.py

TypeScript

  • Resultado: 0 erros
  • Versao: TypeScript 5.9.3

Build Frontend

  • Resultado: Sucesso
  • Bundle: 756 kB (gzip 192 kB)

Pipeline CI

  • Pipeline 1601: validate ✅ build ✅ test ✅ release ✅ deploy ✅ verify ✅ promote:dev-to-uat ✅
  • E2E: 4 fixes aplicados (auth logout, ticket form, cancel modal, strict locator)

Commits desta Sessao (29 commits)

6bebef3 fix(provisioning): corrigir import SDK booking + 47 testes
52a9559 chore(stack): CVE python-multipart + i18next v26 + nginx 1.27 + role tester
26d79f1 fix(ci): corrigir pipeline — pytest 8.3.4 + remover focusRingColor TS
0abc359 fix(vendor): iaw-sdk como ficheiros normais (nao submodule)
edeaef4 fix(docker): actualizar Dockerfile para Python 3.12 + vendor iaw-sdk
a9732c8 feat(config): flag DEMO_DATA_ENABLED para controlar dados de teste
51ba855 feat(rgpd): export dados pessoais + anonymize_db.py + evidence
9d6e2e5 fix(rbac): enforcar permissoes granulares nos endpoints
a8212dd feat(auth): criar role tester no RBAC
86110ad fix(i18n): eliminar strings hardcoded em AdminEmailLog e GuidePage
0ad3a0d fix(e2e): corrigir 4 testes falhando (selectores bilingues)
1df93d4 test(backend): testes notifications (29) + onboarding (19)
9bcc589 fix(security): JWT secret guard + pytest collection fix
f98b987 feat(stripe): StripeAccountActivatedEvent + _sync_to_store real + fix path
a3f2d0d feat(provisioning): BookingSystem via SDK + VirtualStore via NATS
f8dde4d feat(sdk): instalar iaw-sdk + EventBus NATS + config em todos os ambientes
ed5f066 docs: actualizar CLAUDE.md com stack correcta e credenciais
740da8e feat(docs): automacao E2E→docs + 7 guias estaticos + fix cron
ed6fe88 fix(fiscal): corrigir strings hardcoded PT + layout AdminLayout
199a1a0 feat(onboarding): backend API de progresso dos tours
fb3f32f feat(onboarding): sistema de tour guide com intro.js
c3baa8a fix(migration): corrigir Moloni API v1 + campos obrigatorios insert
93bdf90 fix(migration): filtrar clientes E2E no sync Stripe/Moloni + DATA_DIR configuravel
a182f37 feat(migration): adicionar Steps 9-11 ao migrate_whmcs.py
fc0c331 docs(guides): registar 14 suites em falta + paginas estaticas tester
1b25ef2 feat(auth): conta tester Catia + create_admin com suporte a roles
c4910ca feat(admin): pagina de gestao de equipa com permissoes
57a5d0a feat(auth): endpoints CRUD para gestao de admin users
e2b9a42 chore(config): centralizar SYSADMIN_EMAIL em config.py e compose files
2cf9ee7 feat(auth): sistema de permissoes granulares por utilizador admin

Funcionalidades Implementadas

Gestao e RBAC

  • 14 permissoes granulares por utilizador
  • AdminTeam — gestao de equipa com toggles de permissoes
  • Role tester no RBAC (nivel 3, financials off)
  • RBAC enforcement em todos os endpoints (require_permission)
  • Conta Catia (tester, financials off)

SDK + NATS

  • iaw-sdk instalado + EventBus NATS com fallback JSONL
  • BookingSystemProvisioner via SDK (circuit breaker + retry)
  • VirtualStoreProvisioner via NATS (novo)
  • _sync_to_store real (era stub)
  • StripeAccountActivatedEvent publicado

Documentacao + Tour Guide

  • Tour guide intro.js — 19 tours (13 admin + 6 portal)
  • HelpButton flutuante com deteccao de pagina
  • 14 suites registadas no populate_docs + 8 guias estaticos
  • Automacao E2E→docs (workflow + fix cron)

Seguranca + RGPD

  • JWT secret guard (bloqueia prod sem secret)
  • RGPD export dados pessoais (Art. 20)
  • anonymize_db.py para staging
  • DEMO_DATA_ENABLED flag
  • 0 strings hardcoded (AdminFiscal, EmailLog, GuidePage)

Migracao WHMCS

  • Steps 9-11 (dominios, Stripe, Moloni)
  • Testado em dev: 17 clientes, 133 facturas, 6 dominios

Infraestrutura

  • Dockerfile Python 3.12
  • CVE python-multipart corrigido
  • i18next v26, nginx 1.27-alpine
  • Pipeline CI verde (promote:dev-to-uat ✅)

Testes

  • 548 backend tests (0 failed)
  • TypeScript 0 erros
  • 4 E2E fixes (selectores bilingues)