Skip to content

[Coverage] Admin pages + certificates-dashboard endgame #175

Description

@rpgmem

Background

Após #174 mergeado (coverage 30.09%, floor 28), próximo bloco do roadmap: admin pages + endgame do dashboard antigo. Tudo 0% atualmente, somando ~1227 LOC. Caminho crítico tocando dados persistidos (form schema, submission edit).

Sprints (cada um = 1 commit no PR único)

Sprint M — ffc-admin.js (494 LOC)

Hub do admin geral. Likely contém:

  • Geração de códigos randômicos (ajax_generate_random_codes handler já existe no PHP)
  • Load template (HTML pré-fab)
  • Possivelmente tabs, modais, validações de form admin

Pattern: mock $.ajax, simula clicks/submits, asserta side effects no DOM.

Target: 50%+. ~10-12 testes.

Sprint N — ffc-admin-field-builder.js (323 LOC)

UI de construção de fields do form. Cada field tem tipo (text/select/radio/checkbox/etc.), label, name, options, required flag. Drag-and-drop reorder. Add/delete row.

Pattern: render template + simula clicks de add/delete, asserta estrutura DOM resultante.

Target: 50%+. ~12-15 testes.

Sprint O — ffc-admin-submission-edit.js (192 LOC)

Edição inline de submission (admin altera dados de submissões). AJAX-bound.

Pattern: mock $.ajax, simula form submit, asserta success/error paths.

Target: 60%+. ~8-10 testes.

Sprint P — ffc-certificates-dashboard.js (218 LOC)

O único arquivo do "dashboard antigo" ainda 0%. Renderiza um calendário mensal de forms keyed por geofence start date (depende de FFCCalendarCore — pode complicar).

Verificar primeiro se vale o esforço: se for puramente bridge para o FullCalendar excluído, possivelmente excluir formalmente em vez de testar.

Target (se testável): 50%+. ~8 testes.

Sprint Q — Floor ratchet

Após M+N+O+P, mede baseline. Estimativa: 30.09% → 40-45%. Floor sobe pra ~38-42%.

Estimativa total

Sprint Testes Tempo
M ~12 3h
N ~14 4h
O ~9 2-3h
P ~8 2-3h ou exclude
Q 15min
Total ~43 11-13h

Mocking infrastructure reutilizada

Out of scope

  • ffc-csv-download.js (668 LOC, File API) — próximo PR.
  • ffc-reregistration-frontend.js (507 LOC) — próximo PR.
  • ffc-audience-admin.js, ffc-reregistration-admin.js, ffc-custom-fields-admin.js, ffc-url-shortener-admin.js, ffc-admin-move-submissions.js, ffc-recruitment-admin.js — admin médio, PR próprio.
  • Calendar subsystem.
  • ffc-audience.js (skipped via [Skipped] Sprint J — split ffc-audience.js (won't do, see body) #167).

Branch / PR

  • Branch: claude/js-coverage-admin-and-certs-dashboard
  • One PR with sprints M-Q as separate commits.

Acceptance

  • npm run test:js ≥ 250 tests (era 208).
  • npm run test:js:coverage overall ≥ 38%.
  • Per-file targets atingidos ou explicitamente justificados.
  • Floor em lint.yml ratchets pra valor ~1.5-2% abaixo do novo baseline.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions