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.ProcessoAbertura e cockpit padrão via ClientePerfilAcessoUsuario.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, e CodProfissional ainda 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)

EndpointUso
GET /api/v1/menuCarga da árvore, favoritos, clinicaAtual e ambienteTipo
POST /api/v1/menu/items/{clientePerfilAcessoProcessoId}/favoriteFavoritar
DELETE /api/v1/menu/items/{clientePerfilAcessoProcessoId}/favoriteDesfavoritar

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)
AssistencialCentral do Médico (Cockpit)stethoscope
AssistencialAgenda do Médicocalendar
AssistencialPEPfile-text
AssistencialPrescrições Pendentesclipboard-list
AssistencialPacientes na Clínica Hojeusers
FinanceiroRepassescoins
CadastrosProtocoloslist-checks
CadastrosPacientesuser-plus
MensageriaMensagensmessage-circle
(sem grupo — ProcessoGrupoId nulo)Item Sem Grupo (teste) — inventado para este documentocircle

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, com ExibeMenu='N'. Ordem dentro 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 com ExibeMenu='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 ClientePerfilAcessoProcesso com ExibeMenu='S'.
  • PERFIL-C (usado na Clínica C, Ambiente BD-T; perfil próprio porque cada perfil pertence a um único Ambiente) — mesmos itens, ExibeMenu e Ordem do PERFIL-A.

Usuários (ClientePerfilAcessoUsuario, RemovidoEm nulo):

UsuárioClínica Teste AClínica Teste BClínicas acessíveisFavoritos pré-carregados (ClienteUsuarioMenuFavorito, RemovidoEm nulo)
U1 (multi-clínica)PERFIL-APERFIL-B2Na A: Central do Médico (Cockpit), Agenda do Médico. Na B: Mensagens
U2 (clínica única)PERFIL-A—1Nenhum
U3 (perfil sem itens)PERFIL-VAZIO—1Nenhum
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 Processo artificial, 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.Nome usa SQL_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 clinicaAtual na resposta de GET /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

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-E5-EST-01U2 autenticado na Clínica Teste A, desktopObservar o menu logo após o carregamentoAparecem 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 itensPERFIL-ARN-CIU-026; 01-Definição, Premissas
CT-E5-EST-02Mesmo estado de CT-E5-EST-01Tocar 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 recolhidosPERFIL-A, Ordem 1-5RN-CIU-026, RN-CIU-027; CA-010.9
CT-E5-EST-03Assistencial 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 expandidoPERFIL-A (Protocolos com ExibeMenu='N')RN-CIU-026, RN-CIU-027; CA-010.1, CA-010.9
CT-E5-EST-04U1 autenticado na Clínica Teste BExpandir “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 aparecemPERFIL-BRN-CIU-027 (ordem por perfil); CA-010.1
CT-E5-EST-05U2 na Clínica Teste AObservar a posição de “Item Sem Grupo (teste)“O item aparece direto na lista principal, fora de qualquer grupo, visível sem expandir nadaProcesso.ProcessoGrupoId nulo (item inventado, ver Pendências)RN-CIU-026
CT-E5-EST-06U2 na Clínica Teste A, desktop, Assistencial expandidoTocar em “Agenda do Médico”Navega para a rota do item (Processo.Rota). O item fica destacado como ativo (rota atual) no menuPERFIL-A02-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 AChamar GET /api/v1/menu e inspecionar a resposta200. 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-endPERFIL-ARN-CIU-027; SBIS NGS1.03.01
CT-E5-EST-08 (BD)U2 na Clínica Teste A, menu carregado com “Pacientes” visível em Cadastros1. 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 finalApós recarregar, “Pacientes” não aparece mais em Cadastros. A mudança de configuração do perfil vale a partir do próximo carregamentoPERFIL-ARN-CIU-027; SBIS NGS1.03.03
CT-E5-EST-09U2 na Clínica Teste A, desktop, com Assistencial e Cadastros expandidos e o menu recolhidoEncerrar a sessão (logout) e autenticar de novoMenu 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-10U3 autenticado na Clínica Teste AObservar o menuMenu 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 aparecePERFIL-VAZIORN-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 AChamar GET /api/v1/menu200 (não erro), com grupos, itensSemGrupo e favoritos vaziosPERFIL-VAZIO02-Especificação, GET /api/v1/menu, Códigos
CT-E5-EST-12 (novo na v1.2)U1 autenticado na Clínica Teste BObservar o menu; chamar GET /api/v1/menu com o token de U1 na BO 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 MensageriaPERFIL-B (Repasses ExibeMenu='N')RN-CIU-026; 04-Mapeamento §4.1, Filtros

3. Favoritos

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-E5-FAV-01U1 autenticado na Clínica Teste AObservar o topo do menu; expandir AssistencialSeçã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 itemU1 × PERFIL-A, 2 favoritos pré-carregadosRN-CIU-028
CT-E5-FAV-02U2 autenticado na Clínica Teste A (nenhum favorito)Observar o topo do menuSeção Favoritos não aparece (nem título, nem espaço vazio, nem mensagem). Busca logo no topoU2 × PERFIL-A, sem favoritosRN-CIU-028
CT-E5-FAV-03Estado de CT-E5-FAV-02, Assistencial expandidoTocar 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-04U1 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-05U1 na Clínica Teste A, com “Agenda do Médico” nos FavoritosTocar na estrela preenchida de “Agenda do Médico” dentro da seção FavoritosAgenda do Médico sai da seção Favoritos. Continua no Assistencial, agora com estrela vazia—RN-CIU-028; CA-010.3
CT-E5-FAV-06U1 na Clínica Teste A, com “Central do Médico (Cockpit)” nos Favoritos, Assistencial expandidoTocar na estrela preenchida de “Central do Médico (Cockpit)” no grupo AssistencialMesmo 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-07Usuário com exatamente 1 favorito na clínica atualDesfavoritar esse único itemA seção Favoritos inteira desaparece—RN-CIU-028
CT-E5-FAV-08U2 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 favoritadoFavoritar PEP → desfavoritar → favoritar de novo. Conferir ClienteUsuarioMenuFavoritoExiste 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-10U1 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 ANa 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 AU1 × PERFIL-A / PERFIL-BRN-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 APOST .../items/{id}/favorite usando: (a) o ClientePerfilAcessoProcessoId de “Protocolos” no PERFIL-A (ExibeMenu='N'); (b) um ClientePerfilAcessoProcessoId do PERFIL-B404 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 favoritadoDELETE .../items/{id de Repasses}/favorite404 (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 favoritadoPOST .../items/{id de PEP}/favorite201, 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” favoritado1. 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 menuPasso 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 ClienteUsuarioMenuFavorito nã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

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-E5-BUSCA-01U2 na Clínica Teste A, todos os grupos recolhidosDigitar “Agenda” no campo de busca, sem pressionar EnterA 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çãoPERFIL-ARN-CIU-030; CA-010.4
CT-E5-BUSCA-02Mesmo estadoDigitar “Pac”Aparecem “Pacientes na Clínica Hoje” (do Assistencial) e “Pacientes” (do Cadastros), ambos com os grupos recolhidosPERFIL-ARN-CIU-030; CA-010.4
CT-E5-BUSCA-03Mesmo estadoDigitar “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 liberadoPERFIL-A (Protocolos ExibeMenu='N')RN-CIU-030 (2º parágrafo); RN-CIU-027; SBIS NGS1.03.01
CT-E5-BUSCA-04Mesmo estadoDigitar “xyz”Estado vazio com MSG-I5-02—RN-CIU-030; EX-E5-02
CT-E5-BUSCA-05U2 na Clínica Teste A, Cadastros expandido, demais recolhidosDigitar “Agenda”; depois apagar todo o textoDurante 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-06U2 na Clínica Teste A, devtools aberto na aba RedeDigitar “Pacientes” caractere a caractereNenhuma 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-07U2 na Clínica Teste A, campo vazioObservar o campo de buscaPlaceholder “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 ADigitar, 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-ARN-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 acimaU1 × PERFIL-ARN-CIU-030

5. Comportamento Responsivo

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-E5-RESP-01U1 na Clínica Teste A, desktopAbrir o sistemaMenu expandido (padrão), em faixa lateral fixa, com o conteúdo principal ocupando o resto da tela—RN-CIU-029
CT-E5-RESP-02Estado de CT-E5-RESP-01 (favoritos: Agenda, Central)Acionar o controle de recolherMenu 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 liberadoU1 × PERFIL-ARN-CIU-029; CA-010.7
CT-E5-RESP-03Menu 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-04DesktopObservar a posição do controle de recolher/expandir nos dois estadosO 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-05Menu recolhidoAcionar o controle de expandirMenu 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), desktopRecolher o menuA 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 é exibidaU2 × PERFIL-ARN-CIU-029
CT-E5-RESP-07U1 na Clínica Teste A, mobileAbrir o sistema; tocar no ícone de abertura do menu na barra superiorAntes 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-08Menu aberto no mobileTocar 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-09Menu aberto no mobileTocar fora do menu (na camada de fundo)Menu fecha e o conteúdo aparece como estava, sem navegar—RN-CIU-029
CT-E5-RESP-10MobileProcurar o controle de recolher/expandirNã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é

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-E5-CAB-01U2 na Clínica Teste A, desktop expandidoObservar o topo do menuIndicador visual (círculo colorido) + nome “Clínica Teste A”ClienteEmpresa.Nome02-Especificação, Cabeçalho do Menu
CT-E5-CAB-02U2 (1 clínica acessível)Observar o cabeçalho do menuBotão “Trocar” não apareceU2RN-CIU-009 (E1); CA-010.5
CT-E5-CAB-03U1 (2 clínicas acessíveis) na Clínica Teste AObservar 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)U1RN-CIU-009 (E1); CA-010.6
CT-E5-CAB-04Continuação de CT-E5-CAB-03, na tela do E6Selecionar “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 permaneceU1 × PERFIL-BRN-CIU-028; SBIS NGS1.03.07
CT-E5-CAB-05U1 na Clínica Teste BRecarregar 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-06Qualquer usuário, desktop expandido ou mobile abertoObservar a base do menu; tentar clicar no textoRodapé 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).

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/CA Relacionada
CT-E5-AMB-01U4 na Clínica C, desktop expandido, tema claroObservar o menu e o restante da telaFundo 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çaU4 × Clínica CRN-CIU-032; CA-011.1
CT-E5-AMB-02Estado de CT-E5-AMB-01Recolher o menuColuna recolhida (só ícones dos favoritos) também em #FFF8E1U4 × Clínica CCA-011.1
CT-E5-AMB-03U4 na Clínica C, largura < 960pxAbrir o menu pelo ícone da barra superiorOverlay do menu em #FFF8E1. A barra superior mobile continua com o fundo padrãoU4 × Clínica CCA-011.1
CT-E5-AMB-04U2 na Clínica Teste A (Ambiente BD-P)Observar o menu; ler o título da aba; inspecionar o <head> da páginaFundo 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 ACA-011.2
CT-E5-AMB-05U4 na Clínica C, interface em pt-BRAbrir “Agenda do Médico” e depois “Central do Médico (Cockpit)” pelo menu; ler o título da aba a cada telaTí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çõesU4 × Clínica CCA-011.3; MSG-T5-02
CT-E5-AMB-06U4 na Clínica C, num celular Android com ChromeAbrir o sistema e manter o menu fechadoBarra 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 substitutoU4 × Clínica C; celular realCA-011.4
CT-E5-AMB-07U4 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 AAo entrar na C: fundo amarelo, prefixo “[TESTE]” e theme-color aplicados assim que o menu carrega. Ao voltar para a A: os três somemU4CA-011.5; RN-CIU-028
CT-E5-AMB-08U4 na Clínica C, tema escuro fixado no menu do usuárioObservar o menu; inspecionar a tag theme-color; no celular, observar a barra de statusFundo 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 reprovarU4 × Clínica CCA-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 umU4: ambienteTipo = "homologacao". U2: ambienteTipo = "producao". O campo vem sempre presente e não há nome de Ambiente na respostaU4, U202-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 C04-Mapeamento §4.1
CT-E5-AMB-11U4 na Clínica C; GET /api/v1/menu simulando falha (500)Autenticar e observarEstado 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 apareceU4 × Clínica C02-Especificação, Sinalização de Ambiente de teste; EX-E5-04
CT-E5-AMB-12U4 na Clínica C, desktop expandidoPassar o mouse sobre a estrela de um itemO realce de hover da estrela continua visível sobre o fundo amarelo (#FFECB3, mais forte que o fundo)U4 × Clínica C02-Especificação, Sinalização de Ambiente de teste, item 1
CT-E5-AMB-13Clínica C com o PERFIL-C temporariamente sem nenhum item liberado (ExibeMenu='N' em todos)U4 entra na Clínica CMenu vazio com MSG-I5-01 (EX-E5-01) e sinalização aplicada: fundo amarelo, prefixo “[TESTE]”, theme-color. Restaurar o PERFIL-C depoisU4 × Clínica C02-Especificação, Sinalização de Ambiente de teste; EX-E5-01
CT-E5-AMB-14U4 na Clínica C, tema Claro fixadoTrocar o tema para Escuro no menu do usuário, sem recarregar; depois, com tema Automático, mudar o modo do sistema operacionalFundo do menu e tag theme-color passam a #3B3727 sem recarregar a página, e voltam a #FFF8E1 ao voltar ao claroU4 × Clínica C02-Especificação, item 2
CT-E5-AMB-15U4 na Clínica CRecarregar a página (F5)Depois do skeleton, a sinalização volta (fundo, prefixo, theme-color) — não depende de nada guardado desde o loginU4 × Clínica C02-Especificação, Sinalização de Ambiente de teste
CT-E5-AMB-16U4 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 menuNa 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)U4CA-011.7; RN-CIU-032
CT-E5-AMB-17 (BD + API)Alterar temporariamente ClienteEmpresa.ClienteBDId da Clínica C para NULLChamar GET /api/v1/menu com U4 na Clínica C; depois restaurarambienteTipo = "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 C04-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.

IDPré-condiçãoPassosResultado EsperadoDados de TesteRN/EX Relacionada
CT-E5-SIS-01Resposta de GET /api/v1/menu propositalmente lentaAutenticar e observar o menu durante a cargaSkeleton 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-02GET /api/v1/menu simulando falha (500)AutenticarEstado 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-03Estado de CT-E5-SIS-02; endpoint restabelecidoTocar 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-04U2 na Clínica Teste A; POST .../favorite simulando falhaTocar 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-05U1 na Clínica Teste A; DELETE .../favorite simulando falhaTocar 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ãoChamar GET /api/v1/menu401—02-Especificação, GET /api/v1/menu, Códigos

8. Idioma e Mensagens

IDPré-condiçãoPassosResultado EsperadoRN/SBIS Relacionada
CT-E5-MSG-01Interface em pt-BRProvocar cada estado do catálogo durante a execução das Seções 2-7 e conferir o texto exibidoCada 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árioSBIS ECF.17.18, ECF.17.19
CT-E5-MSG-02Interface em pt-BRPercorrer todos os rótulos do menu (grupos, itens, botões, cabeçalho)Todos em português do BrasilSBIS 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

ÁreaCasosRN cobertasCA / EX cobertosSBISCobertura
Estrutura e filtragemCT-E5-EST-01 a 12RN-CIU-026, 027CA-010.1, CA-010.9; EX-E5-01NGS1.03.01, NGS1.03.03Caminho 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
FavoritosCT-E5-FAV-01 a 14RN-CIU-028, RN-CIU-005CA-010.2, CA-010.3NGS1.03.01, NGS1.03.07Caminho 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)
BuscaCT-E5-BUSCA-01 a 09RN-CIU-030, 027CA-010.4; EX-E5-02NGS1.03.01Caminho 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)
ResponsivoCT-E5-RESP-01 a 10RN-CIU-029CA-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 06RN-CIU-026, 028; RN-CIU-009 (E1)CA-010.5, CA-010.6NGS1.03.07Completo. CAB-05 depende de clinicaAtual [PROPOSTA]
Ambiente de testeCT-E5-AMB-01 a 17RN-CIU-032 (itens 1 a 3), RN-CIU-028CA-011.1 a CA-011.7; EX-E5-01, EX-E5-04ECF.17.18Completo 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 falhasCT-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 mensagensCT-E5-MSG-01, 02——ECF.17.18, ECF.17.19Só 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):

  1. 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).
  2. Menu recolhido sem nenhum favorito — resolvida: fica vazio (CT-E5-RESP-06).
  3. 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).
  4. Seção Favoritos durante uma busca — resolvida: fica intacta; a busca só afeta a árvore (CT-E5-BUSCA-09).
  5. Grupo sem nenhum item liberado — resolvida: não aparece no menu (CT-E5-EST-12).
  6. 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:
    1. 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 ClienteUsuarioMenuFavorito fica 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.
    2. 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.
    3. 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”.
    4. Favoritos durante a busca: ficam intactos; a busca só afeta a árvore. CT-E5-BUSCA-09 novo.
    5. 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.
    6. Ordem alfabética dos favoritos: segue a collation do banco. Conferido na Biblioteca de Schema (DDL): Processo.Nome usa SQL_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.
  • 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-color volta 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.ClienteBDId nulo) 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) e T (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 cujo ClienteBD seja '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.
  • 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, RemovidoEm de ClientePerfilAcessoProcesso/ClienteProcesso) aplicados a grupos/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.