TDD — Classe de Domínio `Ebd`
Status
Section titled “Status”Aprovado para implementação da classe (sem integração de uso)
Objetivo
Section titled “Objetivo”Registrar a definição técnica da classe Ebd no domínio como agregador das sessões EBD da unidade.
Escopo desta etapa
Section titled “Escopo desta etapa”- Criar apenas a classe de domínio e enum de status.
- Não integrar em repository, use case, DI, UI ou backend nesta etapa.
Contrato da classe Ebd
Section titled “Contrato da classe Ebd”Arquivo alvo de código:
frontend/lib/domain/entities/ebd.dart
Campos previstos (com tipo):
id: StringunitId: Stringname: Stringdescription: String?status: EbdStatusactive: boolsessions: List<EbdSessionNew>coordinators: List<ChurchPersonRef>additionalInfo: String?
Domínio de status (EbdStatus)
Section titled “Domínio de status (EbdStatus)”| Código | Descrição amigável |
|---|---|
ACTIVE | Ativa |
INACTIVE | Inativa |
PENDING | Pendente |
BLOCKED | Bloqueada |
ARCHIVED | Arquivada |
Regra de composição
Section titled “Regra de composição”Ebdcompõe sessões porsessions: List<EbdSessionNew>.Ebdcompõe responsáveis porcoordinators: List<ChurchPersonRef>.
Regras desta fase
Section titled “Regras desta fase”- Sem
toMap/fromMapnesta primeira versão. - Sem alteração das classes já existentes em produção.
- Classe deve permanecer pura de domínio (sem Flutter/Firebase).
Fora de escopo (neste TDD)
Section titled “Fora de escopo (neste TDD)”- Persistência Firestore.
- Mapeadores em infrastructure.
- Ajuste de fluxos de relatório.
- Migração de chamadas para
Ebd.
Referências
Section titled “Referências”docs/architecture/adrs/adr-0005-modelo-de-dominio-conceitual.mddocs/architecture/adrs/adr-0007-padrao-de-organizacao-de-codigo.mddocs/architecture/tdd/data-model/tdd-classe-ebd-session-new.mddocs/architecture/tdd/data-model/tdd-classe-church.md