Cenários de Teste — Check-in de Usuários — Épico 5 — Menu Lateral
Funcionalidade: [CIU-E5] Menu Lateral (parte do guarda-chuva Check-in de Usuários, v2.28)
Versão de referência da especificação: 01-Definição v1.10 / 02-Especificação v1.8 / 03-Protótipo v1.8 / 04-Mapeamento de BD v1.7
Autor: Marcos Arao, para uso da equipe de QA do Gemed 2.1
Massa de dados de referência: não existe ainda. Nenhuma carga de teste para o Menu Lateral foi localizada no vault (a única massa existente, CargaCMZero.xlsx, é da Central do Médico e não contém Processo/ClientePerfilAcessoProcesso/ClienteUsuarioMenuFavorito). Este documento usa uma massa proposta [PROPOSTA] — descrita na Seção 1, “Massa de dados proposta” — que precisa ser criada e confirmada antes da execução. Todos os nomes de usuário, clínica e perfil abaixo (U1, U2, U3, “Clínica Teste A/B”, PERFIL-A/B/VAZIO) são rótulos inventados para este documento, não registros existentes em nenhuma base.
Data-base dos testes: não aplicável — nenhum comportamento deste épico depende de data/hora.
1. Escopo
Este documento cobre a homologação funcional do Menu Lateral, conforme CIU-E5: estrutura de grupos e itens filtrada por perfil de acesso (RN-CIU-026/027), Favoritos (RN-CIU-028), Busca (RN-CIU-030), comportamento responsivo desktop/mobile (RN-CIU-029), cabeçalho com identificação da clínica, botão Trocar e rodapé, sinalização de Ambiente de teste (RN-CIU-032, itens 1 a 3: fundo do menu, barra de status do celular e prefixo do título da aba), além dos 4 fluxos de exceção (EX-E5-01 a EX-E5-04) e do catálogo de mensagens.
Fora de escopo deste documento:
- Tela inicial (escolha opcional do usuário via
ClienteUsuarioMenuFavorito.ProcessoAberturae cockpit padrão viaClientePerfilAcessoUsuario.CodProfissional) — a própria 01-Definição (RN-CIU-028, nota final) registra que nenhum critério de aceitação desta versão exercita esse comportamento, eCodProfissionalainda está com migração pendente no banco. Sem CA, sem CT. - Conteúdo de qualquer tela aberta pelo menu (Central do Médico, Agenda do Médico etc.) — cada uma tem seu próprio Cenários de Teste (ou terá).
- “Meu Perfil” — não é item deste menu (01-Definição, Fora do escopo).
- Marca d’água “SEM VALOR — AMBIENTE DE TESTE” em documentos impressos (RN-CIU-032, item 4) — não é aplicada pelo menu; será testada no Cenários de Teste de cada funcionalidade que gerar documento para impressão (nenhuma especificada até agora).
- “Suporte Gemed” — item em aberto (01-Definição, Lista consolidada [PROPOSTA], item 2), retirado do Protótipo.
- Cadastro/administração de perfis de acesso — Contexto de Segurança. Aqui só se altera configuração de perfil como pré-condição de teste.
- A árvore real de produção — ainda não existe (01-Definição, Lista consolidada [PROPOSTA], item 1). Os casos usam a árvore de exemplo do Protótipo v1.8.
Cada seção traz uma tabela de casos (ID, Pré-condição, Passos, Resultado Esperado, Dados de Teste, RN/CA Relacionada). Casos marcados (API) são executados diretamente contra o endpoint (Postman, devtools ou equivalente), não pela interface. Casos marcados (BD) exigem conferência direta no banco IpSeguranca.
Endpoints envolvidos (referência)
| Endpoint | Uso |
|---|---|
GET /api/v1/menu | Carga da árvore, favoritos, clinicaAtual e ambienteTipo |
POST /api/v1/menu/items/{clientePerfilAcessoProcessoId}/favorite | Favoritar |
DELETE /api/v1/menu/items/{clientePerfilAcessoProcessoId}/favorite | Desfavoritar |
A busca não tem endpoint — opera em memória sobre a resposta do GET (02-Especificação, Integração com Backend).
Massa de dados proposta [PROPOSTA]
Tudo nesta subseção é proposta deste documento, montada a partir da árvore de exemplo do Protótipo v1.8 (
MENU_DATA) e das tabelas do 04-Mapeamento de BD §4.1-4.3. Nada aqui existe hoje em banco. Precisa ser criado (e conferido) pelo solicitante/QA antes da execução; se a massa real divergir, os resultados esperados abaixo precisam ser recalculados.
Clínicas (ClienteEmpresa, mesmo Cliente, todas com RemovidoEm nulo):
- Clínica Teste A — no Ambiente BD-P
- Clínica Teste B — no Ambiente BD-P
- Clínica C (teste) — no Ambiente BD-T — acrescentada na v1.1 deste documento, só para a Seção 6A
Ambientes (ClienteBD, mesmo ClienteId) — acrescentados na v1.1 deste documento:
- BD-P —
Tipo = 'P'. Atenção: mesmo que a massa seja carregada num ambiente de QA, este registro precisa estar com'P', senão todos os casos das Seções 2 a 8 passam a mostrar a sinalização de teste. - BD-T —
Tipo = 'T'.
Processos (Processo/ProcessoGrupo, habilitados em ClienteProcesso para BD-P e para BD-T) — a árvore de exemplo do Protótipo v1.8, mais 1 item inventado:
Grupo (ProcessoGrupo) | Item (Processo.Nome) | Ícone (Processo.Icone) |
|---|---|---|
| Assistencial | Central do Médico (Cockpit) | stethoscope |
| Assistencial | Agenda do Médico | calendar |
| Assistencial | PEP | file-text |
| Assistencial | Prescrições Pendentes | clipboard-list |
| Assistencial | Pacientes na Clínica Hoje | users |
| Financeiro | Repasses | coins |
| Cadastros | Protocolos | list-checks |
| Cadastros | Pacientes | user-plus |
| Mensageria | Mensagens | message-circle |
(sem grupo — ProcessoGrupoId nulo) | Item Sem Grupo (teste) — inventado para este documento | circle |
O item sem grupo é necessário porque a árvore de exemplo do Protótipo v1.8 não tem nenhum item sem grupo, e RN-CIU-026 prevê esse caso.
Perfis de acesso (ClientePerfilAcesso + ClientePerfilAcessoProcesso):
- PERFIL-A (usado na Clínica Teste A) — todos os 10 itens acima com
ExibeMenu='S', exceto Protocolos, comExibeMenu='N'.Ordemdentro do Assistencial: Central do Médico (1), Agenda do Médico (2), PEP (3), Prescrições Pendentes (4), Pacientes na Clínica Hoje (5) — mesma ordem do Protótipo. Cadastros: Pacientes (1). - PERFIL-B (usado na Clínica Teste B) — 4 itens com
ExibeMenu='S': no Assistencial, ordem invertida em relação ao PERFIL-A: Prescrições Pendentes (1), Agenda do Médico (2), Central do Médico (3); na Mensageria: Mensagens (1). Mais Repasses comExibeMenu='N'(acrescentado na v1.2 deste documento) — é o único item do grupo Financeiro neste perfil, para CT-E5-EST-12 (grupo sem nenhum item liberado). - PERFIL-VAZIO — nenhuma linha em
ClientePerfilAcessoProcessocomExibeMenu='S'. - PERFIL-C (usado na Clínica C, Ambiente BD-T; perfil próprio porque cada perfil pertence a um único Ambiente) — mesmos itens,
ExibeMenueOrdemdo PERFIL-A.
Usuários (ClientePerfilAcessoUsuario, RemovidoEm nulo):
| Usuário | Clínica Teste A | Clínica Teste B | Clínicas acessíveis | Favoritos pré-carregados (ClienteUsuarioMenuFavorito, RemovidoEm nulo) |
|---|---|---|---|---|
| U1 (multi-clínica) | PERFIL-A | PERFIL-B | 2 | Na A: Central do Médico (Cockpit), Agenda do Médico. Na B: Mensagens |
| U2 (clínica única) | PERFIL-A | — | 1 | Nenhum |
| U3 (perfil sem itens) | PERFIL-VAZIO | — | 1 | Nenhum |
| U4 (produção + teste) | PERFIL-A | — | 2 (Clínica Teste A e Clínica C, esta com PERFIL-C) | Na C: Central do Médico (Cockpit) |
Vínculos e perfis do Ambiente de teste (acrescentados na v1.1): U4 precisa de dois vínculos UsuarioCliente com Situação 'V' — um com ClienteBDId = BD-P e outro com ClienteBDId = BD-T (a tabela não permite dois vínculos do mesmo usuário no mesmo Ambiente). PERFIL-A e PERFIL-B têm ClientePerfilAcesso.ClienteBDId = BD-P; PERFIL-C tem ClienteBDId = BD-T, e seus itens apontam para as linhas de ClienteProcesso habilitadas para o BD-T.
Pendências de Massa de Dados
- Massa inteira inexistente — a massa proposta acima precisa ser criada (sugestão: uma planilha de carga no mesmo formato de
CargaCMZero.xlsx, abas por tabela do IpSeguranca). Até lá, nenhum caso deste documento é executável contra o back-end real; o Protótipo v1.8 permite exercitar só os casos visuais com a árvore de exemplo fixa (sem U1/U2/U3, sem PERFIL-B, sem item sem grupo). - “Item Sem Grupo (teste)” é inventado — se o solicitante preferir não criar um
Processoartificial, CT-E5-EST-05 fica sem massa até existir um item sem grupo real. - Ordenação alfabética × collation (CT-E5-FAV-04) — resolvida na v1.2: a ordem segue a collation do banco (decisão do solicitante).
Processo.NomeusaSQL_Latin1_General_CP1_CI_AS(Biblioteca de Schema (DDL),IpSeguranca.sql): sem distinção de maiúsculas/minúsculas, então “Pacientes na Clínica Hoje” vem antes de “PEP”. Se o banco do ambiente de QA tiver outra collation nessa coluna, o resultado de CT-E5-FAV-04 muda junto — conferir só se houver suspeita. - CT-E5-SIS-02 a 05 (falhas de endpoint) não dependem de massa, e sim de o ambiente permitir simular falha de
GET/POST/DELETE(proxy de rede, stub de backend, devtools). Mesma pendência já registrada no Cenários de Teste da Central do Médico (v1.26): mecanismo de simulação a definir pela QA. - CT-E5-CAB-05 (recarregar a página) depende do campo
clinicaAtualna resposta deGET /api/v1/menu, ainda marcado [PROPOSTA] na 02-Especificação v1.7. - Seção 6A (Ambiente de teste) depende do campo
ambienteTipo, também [PROPOSTA] na 02-Especificação v1.7, e da massa BD-P/BD-T/Clínica C/U4. CT-E5-AMB-06 exige um celular real (a barra de status não aparece em emulação de navegador de desktop).
2. Estrutura e Filtragem por Perfil de Acesso
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-E5-EST-01 | U2 autenticado na Clínica Teste A, desktop | Observar o menu logo após o carregamento | Aparecem os grupos Assistencial, Financeiro, Cadastros e Mensageria e o item “Item Sem Grupo (teste)” na lista principal. Todos os grupos recolhidos, mostrando só o nome do grupo, sem itens | PERFIL-A | RN-CIU-026; 01-Definição, Premissas |
| CT-E5-EST-02 | Mesmo estado de CT-E5-EST-01 | Tocar no grupo “Assistencial” | Assistencial expande e mostra, nesta ordem: Central do Médico (Cockpit), Agenda do Médico, PEP, Prescrições Pendentes, Pacientes na Clínica Hoje. Cada item com ícone + nome. Financeiro, Cadastros e Mensageria continuam recolhidos | PERFIL-A, Ordem 1-5 | RN-CIU-026, RN-CIU-027; CA-010.9 |
| CT-E5-EST-03 | Assistencial expandido (CT-E5-EST-02) | Tocar em “Cadastros”; depois tocar de novo em “Assistencial” | Ao expandir Cadastros: os dois grupos ficam expandidos ao mesmo tempo. Cadastros mostra só “Pacientes” (“Protocolos” não aparece, nem desabilitado). Ao recolher Assistencial: Cadastros continua expandido | PERFIL-A (Protocolos com ExibeMenu='N') | RN-CIU-026, RN-CIU-027; CA-010.1, CA-010.9 |
| CT-E5-EST-04 | U1 autenticado na Clínica Teste B | Expandir “Assistencial” | Itens nesta ordem: Prescrições Pendentes, Agenda do Médico, Central do Médico (Cockpit) (invertida em relação ao PERFIL-A). Nenhum outro item do Assistencial aparece. Só os grupos Assistencial e Mensageria aparecem | PERFIL-B | RN-CIU-027 (ordem por perfil); CA-010.1 |
| CT-E5-EST-05 | U2 na Clínica Teste A | Observar a posição de “Item Sem Grupo (teste)“ | O item aparece direto na lista principal, fora de qualquer grupo, visível sem expandir nada | Processo.ProcessoGrupoId nulo (item inventado, ver Pendências) | RN-CIU-026 |
| CT-E5-EST-06 | U2 na Clínica Teste A, desktop, Assistencial expandido | Tocar em “Agenda do Médico” | Navega para a rota do item (Processo.Rota). O item fica destacado como ativo (rota atual) no menu | PERFIL-A | 02-Especificação, Estrutura do Menu e Mapeamento de Componentes (estado “active”) |
| CT-E5-EST-07 (API) | Token de sessão de U2 na Clínica Teste A | Chamar GET /api/v1/menu e inspecionar a resposta | 200. A resposta não contém o item “Protocolos” em lugar nenhum (grupos, itensSemGrupo, favoritos). A filtragem acontece no back-end, não no front-end | PERFIL-A | RN-CIU-027; SBIS NGS1.03.01 |
| CT-E5-EST-08 (BD) | U2 na Clínica Teste A, menu carregado com “Pacientes” visível em Cadastros | 1. Alterar no banco ClientePerfilAcessoProcesso.ExibeMenu de “Pacientes” (PERFIL-A) para 'N'. 2. Recarregar o menu (nova sessão ou recarregar a página). 3. Restaurar para 'S' ao final | Após recarregar, “Pacientes” não aparece mais em Cadastros. A mudança de configuração do perfil vale a partir do próximo carregamento | PERFIL-A | RN-CIU-027; SBIS NGS1.03.03 |
| CT-E5-EST-09 | U2 na Clínica Teste A, desktop, com Assistencial e Cadastros expandidos e o menu recolhido | Encerrar a sessão (logout) e autenticar de novo | Menu volta expandido (estado padrão do desktop), com todos os grupos recolhidos. Nenhum dos dois estados é guardado entre sessões | — | 01-Definição, Premissas; 02-Especificação, Comportamento Responsivo |
| CT-E5-EST-10 | U3 autenticado na Clínica Teste A | Observar o menu | Menu vazio, com a mensagem MSG-I5-01: “Seu perfil de acesso ainda não libera nenhum item de menu. Entre em contato com o administrador da sua clínica.” Seção Favoritos não aparece. Campo de busca não aparece | PERFIL-VAZIO | RN-CIU-027; EX-E5-01; 03-Protótipo v1.8 (busca oculta neste estado, confirmado pelo solicitante) |
| CT-E5-EST-11 (API) | Token de sessão de U3 na Clínica Teste A | Chamar GET /api/v1/menu | 200 (não erro), com grupos, itensSemGrupo e favoritos vazios | PERFIL-VAZIO | 02-Especificação, GET /api/v1/menu, Códigos |
| CT-E5-EST-12 (novo na v1.2) | U1 autenticado na Clínica Teste B | Observar o menu; chamar GET /api/v1/menu com o token de U1 na B | O grupo Financeiro não aparece no menu, nem vazio, embora o PERFIL-B tenha uma linha para Repasses (com ExibeMenu='N'). Na resposta da API, grupos não contém Financeiro. Só aparecem Assistencial e Mensageria | PERFIL-B (Repasses ExibeMenu='N') | RN-CIU-026; 04-Mapeamento §4.1, Filtros |
3. Favoritos
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-E5-FAV-01 | U1 autenticado na Clínica Teste A | Observar o topo do menu; expandir Assistencial | Seção “Favoritos” no topo, acima da busca e dos grupos, com Agenda do Médico e Central do Médico (Cockpit), nesta ordem (alfabética), cada um com estrela preenchida. No Assistencial, os mesmos 2 itens continuam no lugar original, também com estrela preenchida. Favoritar não move o item | U1 × PERFIL-A, 2 favoritos pré-carregados | RN-CIU-028 |
| CT-E5-FAV-02 | U2 autenticado na Clínica Teste A (nenhum favorito) | Observar o topo do menu | Seção Favoritos não aparece (nem título, nem espaço vazio, nem mensagem). Busca logo no topo | U2 × PERFIL-A, sem favoritos | RN-CIU-028 |
| CT-E5-FAV-03 | Estado de CT-E5-FAV-02, Assistencial expandido | Tocar na estrela vazia de “PEP” | Estrela de PEP fica preenchida. Seção Favoritos aparece com “PEP”. PEP continua também no Assistencial | — | RN-CIU-028; CA-010.2 |
| CT-E5-FAV-04 | U1 na Clínica Teste A (favoritos: Agenda, Central) | Favoritar “PEP” e depois “Pacientes na Clínica Hoje” | Seção Favoritos, nesta ordem: Agenda do Médico, Central do Médico (Cockpit), Pacientes na Clínica Hoje, PEP. A ordem é alfabética pelo nome, não a ordem em que foram favoritados, e segue a collation do banco (SQL_Latin1_General_CP1_CI_AS, sem distinção de maiúsculas/minúsculas): por isso “Pacientes na Clínica Hoje” vem antes de “PEP” | — | RN-CIU-028; 04-Mapeamento §4.1 |
| CT-E5-FAV-05 | U1 na Clínica Teste A, com “Agenda do Médico” nos Favoritos | Tocar na estrela preenchida de “Agenda do Médico” dentro da seção Favoritos | Agenda do Médico sai da seção Favoritos. Continua no Assistencial, agora com estrela vazia | — | RN-CIU-028; CA-010.3 |
| CT-E5-FAV-06 | U1 na Clínica Teste A, com “Central do Médico (Cockpit)” nos Favoritos, Assistencial expandido | Tocar na estrela preenchida de “Central do Médico (Cockpit)” no grupo Assistencial | Mesmo efeito de CT-E5-FAV-05: sai dos Favoritos e continua no grupo, com estrela vazia. Dá para desfavoritar dos dois lugares | — | 02-Especificação, Seção Favoritos |
| CT-E5-FAV-07 | Usuário com exatamente 1 favorito na clínica atual | Desfavoritar esse único item | A seção Favoritos inteira desaparece | — | RN-CIU-028 |
| CT-E5-FAV-08 | U2 na Clínica Teste A favorita “PEP” | Logout e login de novo na mesma clínica | ”PEP” continua nos Favoritos. O favorito fica gravado (ClienteUsuarioMenuFavorito) e não se perde ao fim da sessão, ao contrário da expansão de grupos | — | RN-CIU-028; 04-Mapeamento §4.2 |
| CT-E5-FAV-09 (BD) | U2 na Clínica Teste A, “PEP” não favoritado | Favoritar PEP → desfavoritar → favoritar de novo. Conferir ClienteUsuarioMenuFavorito | Existe uma única linha para o par (ClientePerfilAcessoUsuarioId de U2/A, ClientePerfilAcessoProcessoId de PEP), com RemovidoEm nulo. Desfavoritar marca RemovidoEm (exclusão lógica), sem apagar a linha. Refavoritar limpa RemovidoEm, sem criar uma segunda linha | — | RN-CIU-005 (guarda-chuva); 04-Mapeamento §4.2/4.3 |
| CT-E5-FAV-10 | U1 na Clínica Teste A (favoritos: Agenda, Central) | 1. Trocar para a Clínica Teste B (botão Trocar → E6). 2. Observar Favoritos. 3. Na B, favoritar “Prescrições Pendentes”. 4. Voltar para a Clínica Teste A | Na B: Favoritos mostra só “Mensagens”. Agenda e Central aparecem no Assistencial com estrela vazia. De volta à A: Favoritos mostra de novo Agenda e Central. “Prescrições Pendentes” não está favoritado na A | U1 × PERFIL-A / PERFIL-B | RN-CIU-028 (favoritos por vínculo × perfil × clínica); SBIS NGS1.03.07 |
| CT-E5-FAV-11 (API) | Token de U2 na Clínica Teste A | POST .../items/{id}/favorite usando: (a) o ClientePerfilAcessoProcessoId de “Protocolos” no PERFIL-A (ExibeMenu='N'); (b) um ClientePerfilAcessoProcessoId do PERFIL-B | 404 nos dois casos. Nenhuma linha criada em ClienteUsuarioMenuFavorito | — | 04-Mapeamento §4.2; SBIS NGS1.03.01 |
| CT-E5-FAV-12 (API) | Token de U2 na Clínica Teste A, “Repasses” não favoritado | DELETE .../items/{id de Repasses}/favorite | 404 (item não estava favoritado) | — | 02-Especificação, DELETE, Códigos |
| CT-E5-FAV-13 (API) | Token de U2 na Clínica Teste A, “PEP” não favoritado | POST .../items/{id de PEP}/favorite | 201, corpo { clientePerfilAcessoProcessoId, favorito: true }. Em seguida, DELETE no mesmo id: 200, { …, favorito: false } | — | 02-Especificação, Integração com Backend |
| CT-E5-FAV-14 (BD) | U1 na Clínica Teste A com “Agenda do Médico” favoritado | 1. Alterar ClientePerfilAcessoProcesso.ExibeMenu de “Agenda do Médico” (PERFIL-A) para 'N'. 2. Recarregar o menu; recolher o menu; chamar GET /api/v1/menu. 3. Conferir ClienteUsuarioMenuFavorito. 4. Restaurar 'S' e recarregar o menu | Passo 2: “Agenda do Médico” não aparece em lugar nenhum — nem na árvore, nem na seção Favoritos (que mostra só “Central do Médico (Cockpit)”), nem nos ícones do menu recolhido, nem em favoritos da resposta. Passo 3: a linha do favorito continua lá, inalterada (RemovidoEm nulo). Passo 4: “Agenda do Médico” volta à árvore e volta aos Favoritos, sem o usuário favoritar de novo | — | RN-CIU-027, RN-CIU-028; 04-Mapeamento §4.1 (INNER JOIN de favoritos); SBIS NGS1.03.01 |
Observação — CT-E5-FAV-14 (resolvida na v1.2): a falha apontada na v1.0 — o filtro de favoritos não excluía itens retirados do perfil — foi corrigida pelo solicitante: a consulta de favoritos faz sempre INNER JOIN com os processos liberados do perfil vigente (04-Mapeamento de BD v1.7 §4.1). Os favoritos passam a ser sempre um subconjunto dos itens que o menu mostra. A linha de
ClienteUsuarioMenuFavoritonão é apagada quando o item deixa de ser liberado; por isso o favorito volta sozinho se o item for liberado de novo (passo 4).
4. Busca
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-E5-BUSCA-01 | U2 na Clínica Teste A, todos os grupos recolhidos | Digitar “Agenda” no campo de busca, sem pressionar Enter | A lista vira uma lista “achatada”, sem grupos, mostrando só “Agenda do Médico”, mesmo com o Assistencial recolhido. O filtro age a cada caractere, sem confirmação | PERFIL-A | RN-CIU-030; CA-010.4 |
| CT-E5-BUSCA-02 | Mesmo estado | Digitar “Pac” | Aparecem “Pacientes na Clínica Hoje” (do Assistencial) e “Pacientes” (do Cadastros), ambos com os grupos recolhidos | PERFIL-A | RN-CIU-030; CA-010.4 |
| CT-E5-BUSCA-03 | Mesmo estado | Digitar “Proto” | Estado vazio com MSG-I5-02 (“Nenhum item encontrado. Tente limpar o filtro de busca.”). “Protocolos” existe como Processo, mas está com ExibeMenu='N' no PERFIL-A, e a busca nunca revela item não liberado | PERFIL-A (Protocolos ExibeMenu='N') | RN-CIU-030 (2º parágrafo); RN-CIU-027; SBIS NGS1.03.01 |
| CT-E5-BUSCA-04 | Mesmo estado | Digitar “xyz” | Estado vazio com MSG-I5-02 | — | RN-CIU-030; EX-E5-02 |
| CT-E5-BUSCA-05 | U2 na Clínica Teste A, Cadastros expandido, demais recolhidos | Digitar “Agenda”; depois apagar todo o texto | Durante a busca: lista achatada. Após limpar: volta a exibição normal com Cadastros expandido e os demais recolhidos (estado anterior à busca) | — | 02-Especificação, Busca |
| CT-E5-BUSCA-06 | U2 na Clínica Teste A, devtools aberto na aba Rede | Digitar “Pacientes” caractere a caractere | Nenhuma requisição de rede nova enquanto digita. Só o GET /api/v1/menu inicial | — | 02-Especificação, Integração com Backend (nota sobre a busca) |
| CT-E5-BUSCA-07 | U2 na Clínica Teste A, campo vazio | Observar o campo de busca | Placeholder “Buscar no menu” (MSG-P5-01). Campo posicionado abaixo da seção Favoritos (quando existe) e acima dos grupos | — | 02-Especificação, Busca; 03-Protótipo v1.5/v1.6 |
| CT-E5-BUSCA-08 (resultado definido na v1.2) | U2 na Clínica Teste A | Digitar, limpando o campo entre um e outro: (a) “agenda”; (b) “medico”; (c) “MÉDICO”; (d) “prescricoes”; (e) “Agneda” (erro de grafia) | A busca é por aproximação e não diferencia maiúsculas/minúsculas nem acentos. (a) “Agenda do Médico”. (b) e (c) o mesmo resultado: “Central do Médico (Cockpit)” e “Agenda do Médico”. (d) “Prescrições Pendentes”. (e) Estado vazio MSG-I5-02 — a busca do menu não tem correspondência inexata (o algoritmo de Levenshtein é usado só na busca de pacientes) | PERFIL-A | RN-CIU-030 |
| CT-E5-BUSCA-09 (novo na v1.2) | U1 na Clínica Teste A (favoritos: Agenda do Médico, Central do Médico (Cockpit)) | Digitar “Pac”; depois trocar o texto por “xyz” | Nos dois casos a seção Favoritos continua exibida e intacta, com Agenda do Médico e Central do Médico (Cockpit), sem filtro. Só a área da árvore muda: com “Pac”, lista achatada com “Pacientes na Clínica Hoje” e “Pacientes”; com “xyz”, estado vazio MSG-I5-02 abaixo da busca, com os Favoritos ainda visíveis acima | U1 × PERFIL-A | RN-CIU-030 |
5. Comportamento Responsivo
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-E5-RESP-01 | U1 na Clínica Teste A, desktop | Abrir o sistema | Menu expandido (padrão), em faixa lateral fixa, com o conteúdo principal ocupando o resto da tela | — | RN-CIU-029 |
| CT-E5-RESP-02 | Estado de CT-E5-RESP-01 (favoritos: Agenda, Central) | Acionar o controle de recolher | Menu vira coluna estreita com só os ícones de Agenda do Médico e Central do Médico (Cockpit). Grupos, busca, nome da clínica e botão Trocar somem. No cabeçalho fica só o indicador visual (círculo). O conteúdo principal se redimensiona e ocupa o espaço liberado | U1 × PERFIL-A | RN-CIU-029; CA-010.7 |
| CT-E5-RESP-03 | Menu recolhido (CT-E5-RESP-02) | Clicar no ícone de “Agenda do Médico” | Navega direto para a rota da Agenda do Médico, sem expandir o menu | — | RN-CIU-029 |
| CT-E5-RESP-04 | Desktop | Observar a posição do controle de recolher/expandir nos dois estados | O controle fica fora do menu, na mesma posição fixa nos dois estados, sem se deslocar e sem cobrir o nome da clínica quando expandido | — | 02-Especificação, Comportamento Responsivo; 03-Protótipo v1.3 |
| CT-E5-RESP-05 | Menu recolhido | Acionar o controle de expandir | Menu volta ao estado expandido, com grupos, busca, cabeçalho completo e Favoritos | — | RN-CIU-029 |
| CT-E5-RESP-06 (resultado definido na v1.2) | U2 na Clínica Teste A (nenhum favorito), desktop | Recolher o menu | A coluna recolhida fica vazia: nenhum ícone de navegação. Continuam só o indicador da clínica no cabeçalho (como em CT-E5-RESP-02) e o controle de expandir, fora do menu. Nenhuma mensagem é exibida | U2 × PERFIL-A | RN-CIU-029 |
| CT-E5-RESP-07 | U1 na Clínica Teste A, mobile | Abrir o sistema; tocar no ícone de abertura do menu na barra superior | Antes de abrir: menu oculto, barra superior mostrando o nome “Clínica Teste A” sem o indicador visual. Ao tocar: o menu abre como camada sobre o conteúdo, com fundo semitransparente, sem redimensionar o conteúdo por baixo | — | RN-CIU-029; CA-010.8; 02-Especificação, Cabeçalho do Menu |
| CT-E5-RESP-08 | Menu aberto no mobile | Tocar em um item (ex.: “Central do Médico (Cockpit)“) | Menu fecha e o sistema navega para a rota do item | — | RN-CIU-029 |
| CT-E5-RESP-09 | Menu aberto no mobile | Tocar fora do menu (na camada de fundo) | Menu fecha e o conteúdo aparece como estava, sem navegar | — | RN-CIU-029 |
| CT-E5-RESP-10 | Mobile | Procurar o controle de recolher/expandir | Não existe: no mobile não há estado recolhido/expandido, só oculto/aberto | — | RN-CIU-029 |
Nota sobre a largura de corte desktop/mobile: a 02-Especificação define os dois modos só como “largura suficiente/insuficiente para o menu ao lado do conteúdo”, sem valor numérico. O Protótipo v1.8 usa 960px (
@media (min-width: 960px)). Use esse valor como referência de teste até haver definição normativa.
6. Cabeçalho, Botão Trocar e Rodapé
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-E5-CAB-01 | U2 na Clínica Teste A, desktop expandido | Observar o topo do menu | Indicador visual (círculo colorido) + nome “Clínica Teste A” | ClienteEmpresa.Nome | 02-Especificação, Cabeçalho do Menu |
| CT-E5-CAB-02 | U2 (1 clínica acessível) | Observar o cabeçalho do menu | Botão “Trocar” não aparece | U2 | RN-CIU-009 (E1); CA-010.5 |
| CT-E5-CAB-03 | U1 (2 clínicas acessíveis) na Clínica Teste A | Observar o cabeçalho; tocar em “Trocar” | Botão compacto com ícone + rótulo “Trocar” (MSG-B5-02), ao lado do nome da clínica, em fonte menor que o resto do cabeçalho. Ao tocar: vai para a tela de seleção de clínica (E6) | U1 | RN-CIU-009 (E1); CA-010.6 |
| CT-E5-CAB-04 | Continuação de CT-E5-CAB-03, na tela do E6 | Selecionar “Clínica Teste B” | O menu é reconstruído do zero: cabeçalho “Clínica Teste B”, grupos só Assistencial e Mensageria (PERFIL-B), todos recolhidos, Favoritos só com “Mensagens”. Nada da Clínica A permanece | U1 × PERFIL-B | RN-CIU-028; SBIS NGS1.03.07 |
| CT-E5-CAB-05 | U1 na Clínica Teste B | Recarregar a página no navegador (F5) | O cabeçalho continua mostrando “Clínica Teste B” (nome vindo de clinicaAtual, sem depender de dado guardado desde o login/E6) | Depende de clinicaAtual [PROPOSTA] (ver Pendências) | 02-Especificação, GET /api/v1/menu |
| CT-E5-CAB-06 | Qualquer usuário, desktop expandido ou mobile aberto | Observar a base do menu; tentar clicar no texto | Rodapé fixo “Powered by Interprocess TI” (MSG-T5-01), sem link e sem ação ao clicar | — | RN-CIU-026; MSG-T5-01 |
6A. Sinalização de Ambiente de Teste
Valores de referência (Design System, seção 8): fundo do menu em teste #FFF8E1 no tema claro e #3B3727 no escuro; fundo padrão do menu #FFFFFF (claro) e #161C2E (escuro).
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-E5-AMB-01 | U4 na Clínica C, desktop expandido, tema claro | Observar o menu e o restante da tela | Fundo do menu inteiro (cabeçalho, itens, rodapé) em amarelo claro #FFF8E1. Textos, ícones, item ativo, estrela, busca e botão Trocar com as mesmas cores de produção. Conteúdo principal e botão de recolher/expandir sem mudança | U4 × Clínica C | RN-CIU-032; CA-011.1 |
| CT-E5-AMB-02 | Estado de CT-E5-AMB-01 | Recolher o menu | Coluna recolhida (só ícones dos favoritos) também em #FFF8E1 | U4 × Clínica C | CA-011.1 |
| CT-E5-AMB-03 | U4 na Clínica C, largura < 960px | Abrir o menu pelo ícone da barra superior | Overlay do menu em #FFF8E1. A barra superior mobile continua com o fundo padrão | U4 × Clínica C | CA-011.1 |
| CT-E5-AMB-04 | U2 na Clínica Teste A (Ambiente BD-P) | Observar o menu; ler o título da aba; inspecionar o <head> da página | Fundo padrão do menu (#FFFFFF), título da aba sem prefixo, tag theme-color igual à que a aplicação tem sem esta regra (se não existia, continua não existindo) | U2 × Clínica Teste A | CA-011.2 |
| CT-E5-AMB-05 | U4 na Clínica C, interface em pt-BR | Abrir “Agenda do Médico” e depois “Central do Médico (Cockpit)” pelo menu; ler o título da aba a cada tela | Título sempre começa com “[TESTE] ” (colchetes, maiúsculas, um espaço) seguido do título da tela; o prefixo nunca aparece duas vezes (ex.: “[TESTE] [TESTE] …”), mesmo depois de várias navegações | U4 × Clínica C | CA-011.3; MSG-T5-02 |
| CT-E5-AMB-06 | U4 na Clínica C, num celular Android com Chrome | Abrir o sistema e manter o menu fechado | Barra de status do aparelho (relógio, bateria) em amarelo claro, mesma cor do menu. Num iPhone, o resultado depende da versão do Safari: registrar o que acontecer, sem reprovar o caso — a 02-Especificação v1.7 não prevê sinal substituto | U4 × Clínica C; celular real | CA-011.4 |
| CT-E5-AMB-07 | U4 na Clínica Teste A (sem sinalização) | Tocar em “Trocar”, escolher Clínica C no E6; depois trocar de volta para a Clínica Teste A | Ao entrar na C: fundo amarelo, prefixo “[TESTE]” e theme-color aplicados assim que o menu carrega. Ao voltar para a A: os três somem | U4 | CA-011.5; RN-CIU-028 |
| CT-E5-AMB-08 | U4 na Clínica C, tema escuro fixado no menu do usuário | Observar o menu; inspecionar a tag theme-color; no celular, observar a barra de status | Fundo do menu #3B3727, diferente do fundo padrão escuro #161C2E; tag theme-color = #3B3727. A cor efetiva da barra de status depende de o navegador aplicar theme-color no tema escuro: registrar o resultado, sem reprovar | U4 × Clínica C | CA-011.6 |
| CT-E5-AMB-09 (API) | Tokens de U4 (Clínica C) e de U2 (Clínica Teste A) | Chamar GET /api/v1/menu com cada um | U4: ambienteTipo = "homologacao". U2: ambienteTipo = "producao". O campo vem sempre presente e não há nome de Ambiente na resposta | U4, U2 | 02-Especificação, GET /api/v1/menu; 04-Mapeamento §4.1 |
| CT-E5-AMB-10 (BD + API) | Alterar temporariamente ClienteBD.Tipo de BD-T para 'X' | Chamar GET /api/v1/menu com U4 na Clínica C; depois restaurar 'T' | Resposta ambienteTipo = "producao" e nenhuma sinalização na interface. Resultado baseado em [PROPOSTA] (04-Mapeamento §4.1, Domínio) | U4 × Clínica C | 04-Mapeamento §4.1 |
| CT-E5-AMB-11 | U4 na Clínica C; GET /api/v1/menu simulando falha (500) | Autenticar e observar | Estado de erro do menu (EX-E5-04) sem fundo amarelo e com título da aba sem prefixo. Depois de “Tentar novamente” com o endpoint restabelecido, a sinalização aparece | U4 × Clínica C | 02-Especificação, Sinalização de Ambiente de teste; EX-E5-04 |
| CT-E5-AMB-12 | U4 na Clínica C, desktop expandido | Passar o mouse sobre a estrela de um item | O realce de hover da estrela continua visível sobre o fundo amarelo (#FFECB3, mais forte que o fundo) | U4 × Clínica C | 02-Especificação, Sinalização de Ambiente de teste, item 1 |
| CT-E5-AMB-13 | Clínica C com o PERFIL-C temporariamente sem nenhum item liberado (ExibeMenu='N' em todos) | U4 entra na Clínica C | Menu vazio com MSG-I5-01 (EX-E5-01) e sinalização aplicada: fundo amarelo, prefixo “[TESTE]”, theme-color. Restaurar o PERFIL-C depois | U4 × Clínica C | 02-Especificação, Sinalização de Ambiente de teste; EX-E5-01 |
| CT-E5-AMB-14 | U4 na Clínica C, tema Claro fixado | Trocar o tema para Escuro no menu do usuário, sem recarregar; depois, com tema Automático, mudar o modo do sistema operacional | Fundo do menu e tag theme-color passam a #3B3727 sem recarregar a página, e voltam a #FFF8E1 ao voltar ao claro | U4 × Clínica C | 02-Especificação, item 2 |
| CT-E5-AMB-15 | U4 na Clínica C | Recarregar a página (F5) | Depois do skeleton, a sinalização volta (fundo, prefixo, theme-color) — não depende de nada guardado desde o login | U4 × Clínica C | 02-Especificação, Sinalização de Ambiente de teste |
| CT-E5-AMB-16 | U4 na Clínica C | (a) Tocar em “Trocar”; (b) em outra execução, sair do sistema; (c) em outra execução, deixar a sessão expirar e acionar o menu | Na tela de seleção de clínica (a) e na tela de login (b, c): título sem “[TESTE]” e theme-color restaurada. Na seleção de clínica, o Ambiente de teste aparece só pelo cabeçalho da própria lista (RN-CIU-031) | U4 | CA-011.7; RN-CIU-032 |
| CT-E5-AMB-17 (BD + API) | Alterar temporariamente ClienteEmpresa.ClienteBDId da Clínica C para NULL | Chamar GET /api/v1/menu com U4 na Clínica C; depois restaurar | ambienteTipo = "producao", nenhuma sinalização, e um aviso no log técnico do back-end. Resultado baseado em [PROPOSTA] (04-Mapeamento §4.1, Domínio) | U4 × Clínica C | 04-Mapeamento §4.1 |
7. Estados de Exceção e Falhas (Transversal)
Os casos CT-E5-SIS-02 a 05 exigem simular falha de endpoint. Isso não depende da massa: ver Pendências de Massa de Dados.
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/EX Relacionada |
|---|---|---|---|---|---|
| CT-E5-SIS-01 | Resposta de GET /api/v1/menu propositalmente lenta | Autenticar e observar o menu durante a carga | Skeleton no lugar da árvore. Busca e Favoritos não aparecem enquanto carrega | — | 02-Especificação, Mapeamento de Componentes (Skeleton); 03-Protótipo v1.8 |
| CT-E5-SIS-02 | GET /api/v1/menu simulando falha (500) | Autenticar | Estado de erro no lugar do menu: MSG-E5-03 (“Não foi possível carregar o menu. Tente novamente.”) + botão “Tentar novamente” (MSG-B5-01). Sem árvore, sem Favoritos, sem busca | — | EX-E5-04 |
| CT-E5-SIS-03 | Estado de CT-E5-SIS-02; endpoint restabelecido | Tocar em “Tentar novamente” | Menu carrega normalmente (estado de CT-E5-EST-01 / CT-E5-FAV-01, conforme o usuário) | — | EX-E5-04 |
| CT-E5-SIS-04 | U2 na Clínica Teste A; POST .../favorite simulando falha | Tocar na estrela vazia de “PEP” | A estrela mostra o estado de carregamento durante a requisição e depois volta a vazia. Toast de erro MSG-E5-01 (“Não foi possível atualizar seus favoritos. Tente novamente.”). Favoritos não muda | — | EX-E5-03 |
| CT-E5-SIS-05 | U1 na Clínica Teste A; DELETE .../favorite simulando falha | Tocar na estrela preenchida de “Agenda do Médico” | A estrela volta a preenchida, Agenda do Médico continua nos Favoritos, toast MSG-E5-01 | — | EX-E5-03 |
| CT-E5-SIS-06 (API) | Sem token de sessão | Chamar GET /api/v1/menu | 401 | — | 02-Especificação, GET /api/v1/menu, Códigos |
8. Idioma e Mensagens
| ID | Pré-condição | Passos | Resultado Esperado | RN/SBIS Relacionada |
|---|---|---|---|---|
| CT-E5-MSG-01 | Interface em pt-BR | Provocar cada estado do catálogo durante a execução das Seções 2-7 e conferir o texto exibido | Cada texto bate exatamente com o catálogo da 02-Especificação v1.7: MSG-E5-01, MSG-E5-03, MSG-I5-01, MSG-I5-02, MSG-P5-01, MSG-T5-01, MSG-T5-02 (“[TESTE]”, em CT-E5-AMB-05), MSG-B5-01 (“Tentar novamente”), MSG-B5-02 (“Trocar”). Nenhum termo técnico (nome de tabela, código HTTP, stack trace) visível ao usuário | SBIS ECF.17.18, ECF.17.19 |
| CT-E5-MSG-02 | Interface em pt-BR | Percorrer todos os rótulos do menu (grupos, itens, botões, cabeçalho) | Todos em português do Brasil | SBIS ECF.17.18 |
Nota sobre en-US/es-419: o catálogo traz as 3 línguas, mas o mecanismo de troca de idioma não é especificado neste épico. Os textos em en-US/es-419 não têm CT até esse mecanismo ser definido em algum documento.
9. Matriz de Rastreabilidade
| Área | Casos | RN cobertas | CA / EX cobertos | SBIS | Cobertura |
|---|---|---|---|---|---|
| Estrutura e filtragem | CT-E5-EST-01 a 12 | RN-CIU-026, 027 | CA-010.1, CA-010.9; EX-E5-01 | NGS1.03.01, NGS1.03.03 | Caminho feliz, ordem por perfil, item sem grupo (massa inventada), ExibeMenu='N', perfil vazio, grupo sem item liberado (EST-12, novo na v1.2). Tudo depende da massa proposta |
| Favoritos | CT-E5-FAV-01 a 14 | RN-CIU-028, RN-CIU-005 | CA-010.2, CA-010.3 | NGS1.03.01, NGS1.03.07 | Caminho feliz, ordem alfabética conforme a collation do banco, favoritos por clínica, exclusão lógica/reativação, 404, favorito de item retirado do perfil (FAV-14, regra confirmada na v1.2) |
| Busca | CT-E5-BUSCA-01 a 09 | RN-CIU-030, 027 | CA-010.4; EX-E5-02 | NGS1.03.01 | Caminho feliz, não revelação de item oculto, estado vazio, restauração do estado dos grupos, ausência de chamada de rede, aproximação (maiúsculas/minúsculas e acentos, BUSCA-08), Favoritos intactos durante a busca (BUSCA-09, novo na v1.2) |
| Responsivo | CT-E5-RESP-01 a 10 | RN-CIU-029 | CA-010.7, CA-010.8 | — | Desktop expandido/recolhido (inclusive sem favoritos, RESP-06) e mobile overlay completos. Largura de corte só no Protótipo (960px) |
| Cabeçalho, Trocar e Rodapé | CT-E5-CAB-01 a 06 | RN-CIU-026, 028; RN-CIU-009 (E1) | CA-010.5, CA-010.6 | NGS1.03.07 | Completo. CAB-05 depende de clinicaAtual [PROPOSTA] |
| Ambiente de teste | CT-E5-AMB-01 a 17 | RN-CIU-032 (itens 1 a 3), RN-CIU-028 | CA-011.1 a CA-011.7; EX-E5-01, EX-E5-04 | ECF.17.18 | Completo para os 3 itens do menu. AMB-06 e AMB-08 exigem celular real e dependem do navegador (resultado registrado, sem reprovar); AMB-10 e AMB-17 baseados em [PROPOSTA]. Item 4 (marca d’água) fora deste épico; pendências [A DEFINIR] de RN-CIU-032 (duas abas, celular sem barra colorida) sem CT |
| Exceções e falhas | CT-E5-SIS-01 a 06 | — | EX-E5-03, EX-E5-04 | — | Os 4 EX deste épico cobertos (EX-E5-01 em EST-10, EX-E5-02 em BUSCA-04). SIS-02 a 05 exigem mecanismo de simulação de falha a definir pela QA |
| Idioma e mensagens | CT-E5-MSG-01, 02 | — | — | ECF.17.18, ECF.17.19 | Só pt-BR. en-US/es-419 sem mecanismo especificado |
Cobertura dos critérios de aceitação: 16/16 (CA-010.1 a CA-010.9, CA-011.1 a CA-011.7). Fluxos de exceção: 4/4 (EX-E5-01 a EX-E5-04). Requisitos SBIS do épico: 5/5.
Não coberto, por decisão de escopo: tela inicial (ProcessoAbertura/CodProfissional, ver Seção 1); volume/desempenho (a Especificação não define limite de itens nem meta de tempo de carga); concorrência (o mesmo usuário favoritando o mesmo item em duas abas ou dispositivos ao mesmo tempo, não especificado).
Lacunas de especificação — as 5 primeiras foram decididas pelo solicitante na v1.2 e incorporadas aos documentos 01-04 (01-Definição v1.9, 02-Especificação v1.7, 03-Protótipo v1.8, 04-Mapeamento de BD v1.7):
Busca × maiúsculas/minúsculas e acentos— resolvida: busca por aproximação, não diferencia nenhum dos dois; sem correspondência inexata (esclarecido na v1.3) (CT-E5-BUSCA-08).Menu recolhido sem nenhum favorito— resolvida: fica vazio (CT-E5-RESP-06).Filtro de favoritos não excluía itens retirados do perfil— resolvida: favoritos sempre com INNER JOIN nos processos liberados do perfil (CT-E5-FAV-14).Seção Favoritos durante uma busca— resolvida: fica intacta; a busca só afeta a árvore (CT-E5-BUSCA-09).Grupo sem nenhum item liberado— resolvida: não aparece no menu (CT-E5-EST-12).- Comportamento da interface ao receber 401 de
GET /api/v1/menu(sessão expirada): fora deste épico (E1). Só o código HTTP é testado (CT-E5-SIS-06).
10. Histórico de Versões
- v1.3 (08/10/2026) — Esclarecimento do solicitante sobre a busca do menu. O que a QA precisa saber: “por aproximação” significa só não diferenciar maiúsculas/minúsculas nem acentos. Não há correspondência inexata — o algoritmo de Levenshtein é usado na busca de pacientes da Central do Médico, não no menu. Um nome digitado com erro de grafia (ex.: “Agneda”) não encontra nada. CT-E5-BUSCA-08 ganhou o caso (e) “Agneda” → estado vazio MSG-I5-02. A regra de ignorar acentos continua valendo, embora a collation do banco (
SQL_Latin1_General_CP1_CI_AS) diferencie acentos: a busca é feita no front-end e não depende dela (a collation só decide a ordem dos favoritos, CT-E5-FAV-04). Total inalterado: 76 casos. Referências atualizadas para 01-Definição v1.10 e 02-Especificação v1.8. - v1.2 (07/10/2026) — Decisões do solicitante sobre as 6 lacunas listadas na Seção 9 da v1.1. Todas viraram regra nos documentos 01-04 (01-Definição v1.9, 02-Especificação v1.7, 03-Protótipo v1.8, 04-Mapeamento de BD v1.7). O que a QA precisa saber, sem abrir outros documentos:
- Favoritos de item retirado do perfil: a consulta de favoritos faz sempre INNER JOIN com os processos liberados do perfil vigente. Um item que deixa de ser liberado some da seção Favoritos e do menu recolhido, sem ser desfavoritado; a linha em
ClienteUsuarioMenuFavoritofica intacta e o favorito volta sozinho se o item for liberado de novo. CT-E5-FAV-14 reescrito (passos 3 e 4 novos), observação marcada como resolvida. - Busca por aproximação: não diferencia maiúsculas/minúsculas nem acentos — “medico”, “MÉDICO” e “Médico” dão o mesmo resultado. CT-E5-BUSCA-08 deixa de ser “resultado a definir” e ganha os casos (c) e (d). O Protótipo v1.7 não ignorava acentos; corrigido no Protótipo v1.8.
- Menu recolhido sem favoritos: fica vazio, sem nenhum ícone de navegação e sem mensagem. CT-E5-RESP-06 deixa de ser “resultado a definir”.
- Favoritos durante a busca: ficam intactos; a busca só afeta a árvore. CT-E5-BUSCA-09 novo.
- Grupo sem nenhum item liberado: não aparece no menu, nem vazio. CT-E5-EST-12 novo; para ele, a massa proposta ganhou Repasses com
ExibeMenu='N'no PERFIL-B (único item do grupo Financeiro nesse perfil). Nenhum outro caso muda com esse acréscimo: Financeiro já não aparecia na Clínica Teste B. - Ordem alfabética dos favoritos: segue a collation do banco. Conferido na Biblioteca de Schema (DDL):
Processo.NomeusaSQL_Latin1_General_CP1_CI_AS(sem distinção de maiúsculas/minúsculas, com distinção de acentos). Resultado de CT-E5-FAV-04 inalterado (“Pacientes na Clínica Hoje” antes de “PEP”), mas deixa de ser caso-limite; pendência de collation marcada como resolvida.
- Total: 76 casos (2 novos: EST-12 e BUSCA-09). Cobertura inalterada: 16/16 CA, 4/4 EX, 5/5 SBIS. Seção 9: lacunas 1 a 5 marcadas como resolvidas; a lacuna 6 (tratamento de 401 na interface, pertence ao E1) continua. Referências de versão do corpo atualizadas; entradas anteriores deste Histórico mantidas como estavam.
- Favoritos de item retirado do perfil: a consulta de favoritos faz sempre INNER JOIN com os processos liberados do perfil vigente. Um item que deixa de ser liberado some da seção Favoritos e do menu recolhido, sem ser desfavoritado; a linha em
- v1.1 (07/10/2026) — Nova Seção 6A, “Sinalização de Ambiente de Teste”, para a regra RN-CIU-032 (guarda-chuva v2.26), decidida pelo solicitante. O que a QA precisa saber, sem abrir outros documentos:
- Regra: numa clínica de Ambiente de teste (
ClienteBD.Tipo = 'T'), o menu lateral inteiro fica com fundo amarelo claro, a barra de status do celular fica na mesma cor e o título da aba começa com “[TESTE] ”. Em produção ('P'), nada disso aparece. Todos os Ambientes de teste têm a mesma aparência; o nome do Ambiente não aparece em lugar nenhum do menu. - Valores exatos: fundo
#FFF8E1(claro) e#3B3727(escuro); prefixo pt-BR “[TESTE]”, en-US “[TEST]”, es-419 “[PRUEBA]”, sempre seguido de um espaço. - O que não muda: cores de texto, ícones, item ativo, estrela, busca, botão Trocar, barra superior mobile, conteúdo principal. Única exceção: o hover da estrela passa a
#FFECB3, para não sumir no amarelo. - Quando aparece: a cada carga do menu (login, troca de clínica, F5). Durante o carregamento e no erro de carregamento, não aparece; num perfil sem itens (EX-E5-01), aparece. Ao sair do menu (Trocar, saída do sistema, sessão expirada), some antes da próxima tela, e a tag
theme-colorvolta a ser exatamente o que era. - Título da aba: as telas informam só o título base; o prefixo nunca se repete.
- Campo da API:
ambienteTipo, com os valores"producao"e"homologacao"— os mesmos já usados pela Seleção de Clínica (E6). Dado ausente (ClienteEmpresa.ClienteBDIdnulo) ou fora do domínio vira"producao"com aviso no log técnico ([PROPOSTA]). - Revisão por Dois Críticos: os casos AMB-13 a 17, a massa de vínculos de U4 e as reescritas de AMB-04, AMB-05 e AMB-08 vieram da revisão do crítico técnico desta rodada.
- Domínio de
ClienteBD.Tipo:P(produção, um por Cliente) eT(teste, vários). Um valor fora do domínio é tratado como produção — isso ainda é [PROPOSTA] (CT-E5-AMB-10). - Barra de status: depende do navegador. No Android/Chrome deve funcionar; no iPhone não há garantia e não há sinal substituto — o caso registra o resultado sem reprovar.
- Marca d’água em documentos impressos (item 4 da mesma regra) não é testada aqui: o menu não gera documentos.
- Massa: acrescentados os Ambientes BD-P (
'P') e BD-T ('T'), a Clínica C (no BD-T), o PERFIL-C e o usuário U4. As Clínicas Teste A e B passam a estar explicitamente no BD-P — se a massa for carregada num ambiente de QA cujoClienteBDseja'T', os casos das demais seções vão mostrar a sinalização e precisam desse ajuste. - 17 casos novos (CT-E5-AMB-01 a 17), total 74. Cobertura: 16/16 CA, 4/4 EX. Nenhum caso existente mudou de resultado esperado; só referências de versão (02-Especificação v1.5 → v1.6) e a lista de mensagens de CT-E5-MSG-01 (inclui MSG-T5-02).
- Achado ao conferir o Protótipo v1.7: o botão “Trocar” aparecia mesmo com 1 clínica acessível (CSS anulava o atributo
hidden), o que impedia demonstrar CA-010.5 no protótipo — corrigido no próprio Protótipo v1.7. Não afeta os casos CT-E5-CAB-02/03, escritos contra a regra.
- Regra: numa clínica de Ambiente de teste (
- v1.0 (05/10/2026) — Versão inicial, a pedido do solicitante (“crie os Cenários de testes do Épico 5”, tomando como modelo o Cenários de Teste da Central do Médico v1.26). Até esta versão, nenhum épico do Check-in de Usuários tinha documento de cenários de teste. Construído a partir de 01-Definição v1.7, 02-Especificação v1.5, 03-Protótipo v1.6 (.md e .html) e 04-Mapeamento de BD v1.5. Cada caso cita a RN, CA, EX ou seção de onde veio; nenhuma regra nova foi criada.
- Massa de dados: não existe massa de teste para este épico. A massa da Seção 1 é [PROPOSTA]: árvore de exemplo do Protótipo v1.6 + 1 item sem grupo inventado (“Item Sem Grupo (teste)”) + 3 usuários (U1 multi-clínica, U2 clínica única, U3 perfil vazio) + 3 perfis (PERFIL-A, PERFIL-B com ordem invertida, PERFIL-VAZIO) + 2 clínicas. Todos os nomes são rótulos deste documento, não registros reais. Precisa ser criada e confirmada antes da execução.
- 57 casos em 7 áreas: Estrutura e filtragem (11), Favoritos (14), Busca (8), Responsivo (10), Cabeçalho/Trocar/Rodapé (6), Exceções e falhas (6), Idioma e mensagens (2). Cobertura: 9/9 CA, 4/4 EX, 5/5 requisitos SBIS.
- Valores não normativos usados como referência: largura de corte desktop/mobile de 960px e comportamento da busca (ignora maiúsculas/minúsculas, não ignora acentos), ambos lidos do código do Protótipo v1.6, porque a Especificação não define. Ficam sinalizados como referência, não como regra.
- Achado registrado (CT-E5-FAV-14): o filtro de
favoritos[]no 04-Mapeamento de BD v1.5 §4.1 não repete os filtros de liberação (ExibeMenu,RemovidoEmdeClientePerfilAcessoProcesso/ClienteProcesso) aplicados agrupos/itensSemGrupo. Isso pode permitir que um favorito de item retirado do perfil continue visível, contrariando RN-CIU-027. O Mapeamento não foi alterado; o caso foi escrito com o resultado esperado pela regra de negócio. - 5 outras lacunas de especificação listadas ao final da Seção 9 (busca × maiúsculas/acentos, recolhido sem favoritos, Favoritos durante busca, grupo sem itens liberados, tratamento de 401 na interface). Os casos correspondentes ficam marcados “resultado a definir” ou sem CT.
- Revisão por Dois Críticos: não aplicável. É cobertura de teste para comportamento já especificado, sem decisão de modelagem nova.