Skip to content

[TEST] Testar o schema e os formulários do domínio de transtornos no front #969

Description

@MouzinhoA

Qual é o problema?

apps/apae/src/domains/disorders/ tem 10 arquivos (schema, API, listagem e dois formulários de criar/editar, cada um com seu próprio hook) e nenhum teste:

  • disorders.schema.ts, disorders.api.ts, disorders.types.ts
  • list/disorders-list.tsx, list/use-disorders-list.ts
  • create/disorder-form.tsx, create/use-disorder-create.ts
  • edit/disorder-form.tsx, edit/use-disorder-edit.ts
  • shared/disorder-list-item.tsx
find apps/apae/src/domains/disorders -iname "*.test.*"

A busca acima não retorna nenhum arquivo de teste para os arquivos listados.

create/disorder-form.tsx e edit/disorder-form.tsx são dois arquivos separados (não um formulário compartilhado com modo criar/editar), sem teste que garanta que as duas cópias validam da mesma forma.

Tarefas Relacionadas

Objetivo da Solução

Testes (Vitest + React Testing Library) para:

  1. disorders.schema.ts: validação de campo obrigatório (nome do transtorno) e de tamanho mínimo/máximo, se houver.
  2. create/disorder-form.tsx / use-disorder-create.ts: submissão válida e campo obrigatório vazio.
  3. edit/disorder-form.tsx / use-disorder-edit.ts: os mesmos cenários da criação.
  4. list/use-disorders-list.ts: carregamento da lista e caso de lista vazia.

As chamadas a disorders.api.ts devem ser mockadas.

Critérios de Aceite

  • Existe um arquivo *.test.ts(x) para disorders.schema.ts, para os dois formulários (criar e editar) e para use-disorders-list.ts
  • pnpm --filter agendamento test -- domains/disorders passa
  • Os casos de teste do formulário de criar e do de editar cobrem os mesmos cenários de validação
  • Nenhum teste faz requisição HTTP real

Artefatos

Nenhum.

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

    5Complexidade 5TestTríadefrontendLista de tarefas para frontend

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions