Cenários de Teste — Agenda do Médico
Funcionalidade: [DOC-006] Agenda do Médico
Versão de referência da especificação: 01-Definição v1.14 / 02-Especificação v1.16 / 03-Protótipo v1.13 / 04-Mapeamento de BD v1.4
Autor: Marcos Arao, para uso da equipe de QA do Gemed 2.1
Massa de dados de referência: CargaCMZero.xlsx (a mesma da Central do Médico), mais a massa complementar [PROPOSTA] descrita na Seção 1 — necessária para clínica, classificação, modo Customizado e bloqueios, que a carga atual não cobre. Todos os resultados esperados supõem as duas carregadas.
Data-base dos testes: 23/09/2026 (quarta-feira) — a mesma da Central do Médico. “Hoje” é a data de execução: a CargaCMZero.xlsx recalcula as datas a cada carga (UPDATE DATAS, relativo a GETDATE()), e as datas absolutas abaixo (ex.: “sáb, 26/09”) valem para a data-base e se deslocam junto. Os horários citados (“observar às 12:00”) são horários reais de relógio do dia da execução.
1. Escopo
Este documento cobre a homologação funcional da Agenda do Médico, conforme [DOC-006]: lista do dia (consultas de todas as clínicas do cliente e bloqueios da Recepção), conteúdo do item de consulta, informações complementares (clínica, unidade, convênio, classificação), tags e 1ª Consulta, resumo de realizadas e canceladas, linha “AGORA”, posição inicial da rolagem, sinalizador de atraso, item de bloqueio, navegação por dia (setas, “Hoje”, atalhos de dia com consulta, calendário), fuso horário da agenda, atualização automática e faixa de sem conexão, layout, tema e acessibilidade, além dos 4 fluxos de exceção (EX-AGM-02, 03, 06 e 09) e do catálogo de mensagens.
Fora de escopo deste documento:
- Busca de pacientes do cabeçalho — é a da Central do Médico, com os mesmos casos (Central, CT-BUSCA-01 a 05). Aqui só se confere que ela está presente e abre o PEP (CT-AGM-CAB-01).
- Conteúdo do PEP aberto a partir da agenda — outra funcionalidade.
- Criar, editar, cancelar ou reagendar consultas e bloqueios — a tela é somente leitura (RN-AGM-001); essas ações são do Agendamento da Recepção, ainda não especificado. Aqui, mudanças de agenda feitas pela Recepção são simuladas por alteração direta no banco (BD), só como pré-condição.
- Trilha de auditoria (NGS1.07.03/04) — o mecanismo é transversal e não está mapeado (04-Mapeamento, Pendências, item 2). CT-AGM-API-08 fica marcado como dependente dele.
- Textos em en-US e es-419 — o catálogo traz as 3 línguas, mas a troca de idioma da interface não é especificada nesta funcionalidade.
Cada seção traz uma tabela de casos (ID, Pré-condição, Passos, Resultado Esperado, Dados de Teste, RN/CA Relacionada). Quando o resultado esperado envolve vários itens, a tabela traz um resumo e o detalhamento completo fica na subseção “Detalhamento” logo abaixo. Casos marcados (API) são executados direto no endpoint (Postman, devtools ou equivalente). Casos marcados (BD) exigem alterar ou conferir o banco GescomClienteAlfa ou IpSeguranca — restaurar o valor original ao final de cada um.
Endpoints envolvidos (referência)
| Endpoint | Uso |
|---|---|
GET /api/v1/agenda/doctor/day?date= | Consultas (appointments) e bloqueios (blocks) do dia, timeZone, serverNow; atualização automática a cada 1 minuto |
GET /api/v1/agenda/doctor/days-with-appointments?from=&to= | Dias marcados no calendário (intervalo máximo de 62 dias) |
GET /api/v1/agenda/doctor/next-appointment-date?direction=&from= | Atalhos de próximo/anterior dia com consulta |
GET /api/v1/patients/search | Busca do cabeçalho (da Central do Médico) |
Massa de dados usada da CargaCMZero.xlsx
- Clínica e acesso: todos os médicos da massa estão no banco do cliente Gama (
ClienteBD“Ambiente de Produção”,Tipo = 'P'), com uma únicaClienteEmpresa, “Clinica Gama”. Nos registros de agenda, a clínica éIdChClinica = 6, de nome curto “Clínica Gama” (Chave.Descricao). - Unidades da Clínica Gama (
UnidadeAtendimento,IdClinica = 6): Consultórios Norte (1) e Consultórios Sul (2) comStConsulta = 'S'; Setor Verde (3) e Setor Rosa (4) comStConsulta = 'N'. Como há duas unidades ativas para consultas, a unidade aparece nas consultas que a têm. - Médicos: Dr. Craig Evans (
IdChProfissional = 11, usuário “Craig Evans”) — acesso só à Clínica Gama; Dr. Gilliard Onório Santos (IdChProfissional = 9) — acesso à Clínica Gama e, pela massa complementar, à Gama Norte. - Convênios (nome curto em
Chave.Descricao): PARTICULAR (Convenio.Convenio = 'T'), Sulamérica, Unimed Nacional, Bradesco Saúde, HapVida, Cassi. - Tags exibidas em agendas (
ProgramaApoio.MostrarEmcom o valor 32 incluído): VIP (MostrarEm = 38, cor#80FF38), IC (61,#FFC400), INT.MED (57,#FBF8AF), ESPECIAL (63,#DEDAFF). Não aparecem em agendas: Linha de cuidados/LC (1), Médico externo/EXT (17), Particular/PARTIC (6). Vínculos: VIP emProgramaApoioPaciente— John Smith (3) desde 25/07/2026 e Sophia Muller (12) desde 10/09/2026; IC, INT.MED e ESPECIAL emPEPProgramaApoioPaciente— IC: Beatriz A. Lima (20), Marcelo T. Pinto (22), Carmen Garcia (14); INT.MED: Maria Silva (4), Yuki Tanaka (8), Roberto N. Alves (19); ESPECIAL: Otávio B. Lima (24). Ver Pendências sobre a origem dessas três. - Bloqueio: Agenda 164 — Dr. 11, hoje 08:00–08:45, paciente reservado “BLOQUEIO” (
IdPaciente = 0,Paciente.Paciente = 'B'), unidade Setor Rosa, sem complemento (sem motivo). É o mesmo registro usado na Central (CT-KPI-07, CT-CONS-10). - Fotos: só Cecília R. Ferreira (23) e Otávio B. Lima (24) não têm foto — no desktop, o avatar mostra as iniciais.
- Classificação: nenhuma agenda da
CargaCMZero.xlsxtem classificação — ver massa complementar.
Massa complementar proposta [PROPOSTA]
Tudo nesta subseção é proposta deste documento. Nomes de clínica, unidade, classificação e motivos de bloqueio são inventados para o teste, não registros existentes. Precisa ser criada (e conferida) pelo solicitante ou pela QA antes da execução, acrescentada à
CargaCMZero.xlsx. Nenhum registro abaixo cai no dia de hoje, então os casos da Central do Médico não mudam.
Ajustes em registros existentes:
| Tabela (banco) | Registro | Ajuste | Motivo |
|---|---|---|---|
ClienteEmpresa (IpSeguranca) | Clinica Gama | FusoHorarioOficial = 'America/Sao_Paulo' (campo novo, ainda não existe na carga) | Fuso da agenda (RN-AGM-018) |
ClienteEmpresa (IpSeguranca) | Clinica Gama | IdiomaOficial = 'pt-BR' (hoje 'en-US') | O modo de atendimento e o nome do fuso são exibidos no idioma da clínica; os textos esperados deste documento estão em pt-BR |
Registros novos:
| Tabela (banco) | Registro novo | Observação |
|---|---|---|
Chave/Portador/Clinica (GescomClienteAlfa) | IdChClinica = 30, nome curto “Gama Norte” | Segunda clínica do cliente Gama |
UnidadeAtendimento (GescomClienteAlfa) | IdUAtendimento = 5, IdClinica = 30, “Consultório Único”, StConsulta = 'S' | Clínica com uma unidade ativa para consultas — a unidade não aparece |
ClienteEmpresa (IpSeguranca) | “Clínica Gama Norte (teste)”, mesmo ClienteBDId da Clinica Gama, FusoHorarioOficial = 'America/Sao_Paulo', IdiomaOficial = 'pt-BR' | — |
ClientePerfilAcessoUsuario (IpSeguranca) | Dr. Gilliard (vínculo UsuarioCliente do Gama, FA6D3868…) na Clínica Gama Norte (teste), mesmo perfil da Clinica Gama, RemovidoEm nulo | Dr. 9 passa a ter acesso a duas clínicas — a clínica aparece nos itens dele. O Dr. 11 continua com uma só |
AgendaClassificacao (GescomClienteAlfa) | Id 1 “Quimioterapia” e Id 2 “Seguimento”, IdChClinica = 6, TipoAgenda = 'C' | — |
AgendaSubClassificacao (GescomClienteAlfa) | Id 1 “Ciclo 2”, da classificação 1 | — |
Agendas novas (TipoAgenda = 'C', horários no fuso da clínica):
| Ref. | Médico | Dia | Horário | Clínica / Unidade | Paciente | Convênio | Situação | Outros campos |
|---|---|---|---|---|---|---|---|---|
| A101 | Dr. 9 | hoje+1 | 08:00–08:30 | Gama Norte / Consultório Único | Helena Duarte Costa (21) | Unimed Nacional | A | — |
| A102 | Dr. 9 | hoje+1 | 09:00–09:30 | Clínica Gama / Consultórios Sul | Marcelo Tavares Pinto (22) | HapVida | A | Atendimento = 'C' (Customizado); classificação 1 › subclassificação 1 |
| A103 | Dr. 9 | hoje+1 | 10:00–10:30 | Clínica Gama / sem unidade (NULL) | Alejandro Ramirez (9) | PARTICULAR | A | classificação 2, sem subclassificação |
| B101 | Dr. 9 | hoje+1 | 12:00–13:00 | Gama Norte / Consultório Único | BLOQUEIO (0) | BLOQUEIO (0) | A | Complemento = 'Reunião da equipe multidisciplinar' |
| B111 | Dr. 11 | hoje+2 | 08:00–18:00 | Clínica Gama / sem unidade | BLOQUEIO (0) | BLOQUEIO (0) | A | Complemento = 'Congresso de Oncologia' — dia só com bloqueio |
Pendências de Massa de Dados
- Massa complementar inteira — precisa ser criada. Sem ela, ficam sem dado: clínica no item (Seção 4, casos de Dr. 9), classificação, modo Customizado, bloqueio com motivo, dia só com bloqueio e o fuso (campo
FusoHorarioOficialainda não existe). Os casos de Dr. 11 em hoje, ontem e dias futuros que não citam A1xx/B1xx rodam só com aCargaCMZero.xlsx. - Idioma da Clinica Gama: a carga traz
IdiomaOficial = 'en-US'. Se não for ajustado para'pt-BR', o rótulo do modo de atendimento e o nome do fuso aparecem em inglês, e os textos esperados destes casos não batem. Também não foi conferido seTermoTraducao(IpTerminologia) tem os rótulos deModoAtendimentonas três línguas (04-Mapeamento, Seeds). - Diagnóstico de Yuki Tanaka (8) na carga:
PEPDiagnostico(IdPEP 1106) temIdDiagnostico = 'C56.3', mas o textoDiagnosticoé “C50.3 - Câncer de ovários (bi)”. A tela exibe o texto, então os casos abaixo esperam “C50.3 - Câncer de ovários (bi)”. O Cenários de Teste da Central cita “C56.3 - Câncer de ovários (bi)” para o mesmo paciente — um dos dois precisa ser corrigido. - Diagnóstico de Reed Richards (1) na carga: o texto é “C64 - Câncer de rins”; o Cenários de Teste da Central cita “C64 - Câncer do rim”. Os casos abaixo seguem a carga.
- Simulação de falha (CT-AGM-ATU-03 a 05, CT-AGM-NAV-10, CT-AGM-LIS-12) — não é questão de massa: o ambiente precisa permitir derrubar ou atrasar um endpoint (proxy de rede, stub de back-end, devtools). Mesma pendência da Central do Médico.
- Paciente com três diagnósticos (CA-001.18): não existe na carga. CT-AGM-UI-04 é executado no Protótipo v1.13 (Beatriz Mendes, amanhã); no back-end, só depois de existir esse paciente.
- Tag vencida (primeira parte de CA-001.24): nenhuma atribuição da carga tem data de fim. CT-AGM-TAG-05 cria a condição por alteração temporária no banco.
2. Lista do Dia e Item de Consulta
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-LIS-01 | Dr. 11 logado na Central do Médico, desktop, hoje às 12:00 | Tocar no título do painel “Consultas” | Abre a Agenda do Médico no dia de hoje, em lista, botão “Hoje” no estado ativo. Lista principal com 7 itens (6 consultas + 1 bloqueio) — ver detalhamento ⬇ (CT-AGM-LIS-01) | Agendas de hoje do Dr. 11 (101, 113, 103, 105, 62, 87, 107, 109, 1, 148) + bloqueio 164 | RN-AGM-002, RN-AGM-009; CA-001.1 |
| CT-AGM-LIS-02 | Dr. 11 logado na Central do Médico | Tocar no indicador “Consultas Hoje” | Mesmo resultado de CT-AGM-LIS-01 | — | CA-001.1 |
| CT-AGM-LIS-03 | Dr. 9 logado, desktop, Agenda aberta hoje às 12:00 | Observar a lista | Lista principal com 4 consultas; linha “AGORA” acima delas — ver detalhamento ⬇ (CT-AGM-LIS-03) | Agendas de hoje do Dr. 9 (151, 102, 70, 65, 104, 132, 106, 108, 118, 134, 110) | RN-AGM-002, RN-AGM-009; CA-001.1 |
| CT-AGM-LIS-04 | Estado de CT-AGM-LIS-01 | Conferir o item de Fatima Al-Mansoori (16:00) e o de Cecília R. Ferreira (10:30) | Fatima: ícone de 1ª Consulta (número 1 no círculo, cor lilás) logo depois do nome; dica “1ª Consulta” ao passar o mouse. Cecília: sem o ícone | Agendas 148 (PrimeiraConsulta='S') e 105 | RN-CM-028; CA-001.8 |
| CT-AGM-LIS-05 | Estado de CT-AGM-LIS-01 | Conferir o modo de atendimento de cada item | Linha 2 sempre com o modo: “Presencial” em todos, exceto Maria Silva (13:30): “Teleatendimento”. O modo aparece mesmo quando é Presencial | Agenda 62 (Atendimento='T') | RN-AGM-009; CA-001.14 |
| CT-AGM-LIS-06 | Dr. 9 logado, Agenda em hoje+1 (qui, 24/09) | Conferir o item de Marcelo T. Pinto (09:00) | Modo “Customizado” na linha 2 | A102 (massa complementar) | CA-001.14 |
| CT-AGM-LIS-07 | Estado de CT-AGM-LIS-01 | Conferir o chip de status de Yuki Tanaka (14:00), Reed Richards (15:45) e Fatima (16:00) | Chip “Agendado” na linha 1 dos três | Agendas 87, 1, 148 | RN-AGM-009; CA-001.15 |
| CT-AGM-LIS-08 | Estado de CT-AGM-LIS-01 | Observar a borda esquerda de Cecília (10:30) e de Maria Silva (13:30) | Cecília (Recepcionado): borda esquerda de 3px na cor secondary-pure. Maria (Aguardando Recepção): borda esquerda ff8a80. Os demais itens sem borda colorida | Agendas 105, 62 | RN-AGM-009; CA-001.10 |
| CT-AGM-LIS-09 | Estado de CT-AGM-LIS-01 | Conferir o complemento de Reed Richards (15:45) | Linha própria, completa, em texto secundário, acima da linha de informações complementares: “estado agendado sem confirmar” | Agenda 1 | RN-AGM-007; CA-001.3 |
| CT-AGM-LIS-10 | Estado de CT-AGM-LIS-01 | Tocar no item de Maria Silva (13:30) | Abre o PEP de Maria Silva (4) | Agenda 62 | RN-AGM-009; CA-001.5 |
| CT-AGM-LIS-11 | Estado de CT-AGM-LIS-01; grupo “2 canceladas” expandido | Tocar no item de David Cohen (14:00, cancelado) | Abre o PEP de David Cohen (7) — itens de grupo também abrem o PEP | Agenda 107 | CA-001.5 |
| CT-AGM-LIS-12 | GET /api/v1/agenda/doctor/day simulando falha (500) | Abrir a Agenda; depois restabelecer o endpoint e tocar em “Tentar novamente” | Estado de erro no lugar da lista: “Não foi possível carregar a agenda. Tente novamente.” (MSG-EAGM-03) + botão “Tentar novamente”, sem nenhum item e sem a faixa de sem conexão. Depois de “Tentar novamente”: a agenda carrega normalmente | — | EX-AGM-02; CA-001.6 |
| CT-AGM-LIS-13 | GET /day com resposta lenta | Abrir a Agenda e observar durante o carregamento | Skeleton no lugar da lista enquanto carrega | — | 02-Especificação, Mapeamento de Componentes (Skeleton) |
| CT-AGM-LIS-14 | Dr. 11 logado, Agenda em hoje+1 (qui, 24/09) | Observar a lista | Linha do fuso no topo; abaixo, estado vazio “Nenhuma consulta neste dia.” (MSG-TAGM-01) e o botão “Próximo dia com consulta · sáb, 26/09”. Tocar no botão carrega 26/09 (hoje+2 tem só bloqueio e é pulado) | Nenhuma agenda do Dr. 11 em hoje+1; B111 em hoje+2 | EX-AGM-03; CA-001.7 |
Detalhamento — Resultado Esperado
Formato do item: “início–término · nome (+ ①) · diagnóstico · status · modo · tags · atraso · complemento · informações complementares”. No desktop, linha 1 = nome, 1ª Consulta, diagnóstico e status; linha 2 = modo, tags e atraso; depois complemento (se houver) e informações complementares. No celular, o diagnóstico vai para a linha 2, antes do modo. Nada é truncado.
Informações complementares do Dr. 11: ele tem acesso a uma só clínica, então a clínica nunca aparece; como a Clínica Gama tem duas unidades ativas para consultas, a unidade aparece sozinha, com o ícone de alfinete (
map-pin). O convênio aparece sempre, com o ícone de carteira (wallet-cards). Nenhuma agenda de hoje tem classificação.
CT-AGM-LIS-01 — lista principal em ordem (Dr. 11, hoje, 12:00)
- 08:00–08:45 · Bloqueado — cadeado, sem motivo · unidade “Setor Rosa” (ver CT-AGM-BLQ-02)
- 09:30–10:00 · Beatriz Andrade Lima (20) · C50.9 - Câncer de mama · Em Atendimento · Presencial · tag IC · unidade Consultórios Norte · convênio Bradesco Saúde
- 10:30–11:00 · Cecília Ramos Ferreira (23) · sem diagnóstico · Recepcionado (borda secondary-pure) · Presencial · sem tag · sinalizador “Esperando · 90min” · Consultórios Norte · Cassi · sem foto (iniciais “CF” no desktop)
- Linha “AGORA” — 12:00
- 13:30–14:00 · Maria Silva (4) · C50.2 - Câncer de mama (QSI) · Aguardando Recepção (borda ff8a80) · Teleatendimento · tag INT.MED · Consultórios Sul · Unimed Nacional
- 14:00–14:15 · Yuki Tanaka (8) · C50.3 - Câncer de ovários (bi) · Agendado · Presencial · tag INT.MED · Consultórios Norte · Cassi
- 15:45–16:00 · Reed Richards (1) · C64 - Câncer de rins · Agendado · Presencial · sem tag · complemento “estado agendado sem confirmar” · Consultórios Norte · Sulamérica
- 16:00–17:00 · Fatima Al-Mansoori (6) ① · sem diagnóstico · Agendado · Presencial · sem tag · complemento “Primeira consulta” · Consultórios Sul · PARTICULAR
Linha de resumo acima da lista: “2 realizadas” e “2 canceladas” (ver CT-AGM-RES-01/02).
Reed Richards (1): é o nome social; o nome legal (Amanda Peres) não aparece. Beatriz (20) também tem a tag Linha de cuidados no prontuário, que não aparece em agendas (
MostrarEm = 1).
CT-AGM-LIS-03 — lista principal em ordem (Dr. 9, hoje, 12:00)
Com a massa complementar, o Dr. 9 tem acesso a duas clínicas: todo item mostra a clínica, e a unidade junto dela num só segmento, com o ícone de prédio (
building-2): “Clínica Gama › Consultórios Sul”.
- Linha “AGORA” — 12:00 (primeiro elemento da lista principal)
- 13:00–13:30 · Otávio Barbosa Lima (24) · C61 - Câncer de Próstata · Em Atendimento · Presencial · tag ESPECIAL · Clínica Gama › Consultórios Sul · Bradesco Saúde · sem foto
- 14:30–15:00 · Marcelo Tavares Pinto (22) · C34.9 - Câncer de pulmão · Recepcionado (borda) · Presencial · tag IC · Clínica Gama › Consultórios Sul · HapVida
- 15:30–16:00 · Sophia Muller (12) ① · sem diagnóstico · Aguardando Recepção (borda) · Presencial · tag VIP · Clínica Gama › Consultórios Sul · PARTICULAR
- 16:00–16:30 · Alejandro Ramirez (9) · sem diagnóstico · Agendado · Teleatendimento · sem tag · Clínica Gama › Consultórios Sul · PARTICULAR
Linha de resumo: “4 realizadas” e “3 canceladas” (ver CT-AGM-RES-03). Nenhum sinalizador de atraso às 12:00.
3. Resumo, Linha “AGORA”, Rolagem e Atraso
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-RES-01 | Estado de CT-AGM-LIS-01 | Observar a linha de resumo, no topo da lista; tocar em “2 realizadas” | Uma linha com “2 realizadas” (ícone de círculo com check, cor de Finalizado) e “2 canceladas” (ícone de círculo com x, cinza), lado a lado. Roberto N. Alves e Anya Ivanova não aparecem na lista principal. Ao tocar em “2 realizadas”: só esse grupo expande, logo abaixo da linha de resumo, com, em ordem: 08:30–09:00 Roberto Nascimento Alves (19) · C22.0 - Câncer de fígado · Finalizado · Teleatendimento · INT.MED · Consultórios Norte · Sulamérica; 09:00–09:30 Anya Ivanova (10) ① · Finalizado · Presencial · Consultórios Norte · PARTICULAR. Itens sem redução de opacidade, horário de início em cinza | Agendas 101, 113 | RN-AGM-010; CA-005.1, CA-005.3 |
| CT-AGM-RES-02 | Estado de CT-AGM-RES-01 | Tocar em “2 canceladas”; depois tocar de novo em “2 realizadas” | Canceladas expandem com, em ordem: 14:00–14:30 David Cohen (7) · chip “Cancelado” com contorno · complemento “Cancelada - paciente internado” · Consultórios Norte · PARTICULAR; 15:00–15:30 Antonio Rossi (13) · “Cancelado” com contorno · “Transferido para outro profissional/unidade” · Consultórios Norte · PARTICULAR. Horários de início e término riscados; no desktop, avatar de contorno. Ao tocar de novo em realizadas, só esse grupo recolhe — canceladas continua expandido | Agendas 107 (Situacao='I'), 109 ('T') | RN-AGM-010; CA-005.2, CA-005.3 |
| CT-AGM-RES-03 | Estado de CT-AGM-LIS-03 (Dr. 9) | Expandir os dois grupos | 4 realizadas: 08:30 Rogério Mendes Santos (2) · C67.9 - Câncer de bexiga · sem tag; 09:00 John Smith (3) ① · VIP; 09:30 Carmen Garcia (14) · C16.8 - Câncer de estômago (+lesão) · IC · Teleatendimento; 10:00 Maria Silva (4) · INT.MED. 3 canceladas: 10:00 Maria Silva (4) · “Paciente cancelou o agendamento pelo app”; 13:30 Helena Duarte Costa (21) · “Paciente nao compareceu (falta)”; 15:00 Fatima Al-Mansoori (6) · “Cancelada pelo medico - necessario reagendar”. Todas com “Clínica Gama › Consultórios Sul” | Agendas 151, 102, 70, 65 / 104 ('D'), 106 ('F'), 118 ('M') | RN-AGM-010; CA-005.1, CA-005.2 |
| CT-AGM-RES-04 | Dr. 11 logado, Agenda em qua, 16/09 (hoje−7) | Observar o topo da lista | ”2 realizadas” e nenhum botão de canceladas (não há cancelada no dia). A lista principal fica vazia abaixo do resumo | Agendas 111, 85 | CA-005.4 |
| CT-AGM-RES-05 | Dr. 11 logado, Agenda em sáb, 26/09 (hoje+3) | Observar o topo da lista | Sem linha de resumo (nenhuma realizada nem cancelada no dia); a lista começa pela linha do fuso e o item de Reed Richards | Agenda 2 | CA-005.4 |
| CT-AGM-RES-06 | Dr. 11 logado, hoje às 12:00 | Observar a linha “AGORA” | Linha fina com “12:00” em vermelho na coluna de horário e traço atravessando a largura, entre Cecília (10:30) e Maria Silva (13:30). Leitor de tela: “Agora, 12:00” | — | RN-AGM-010; CA-005.5 |
| CT-AGM-RES-07 | Dr. 11 logado, Agenda aberta hoje às 12:00 (carga inicial, sem rolagem prévia) | Observar a posição da rolagem | A tela abre rolada até Beatriz A. Lima (09:30, Em Atendimento) — a primeira consulta que ainda exige ação, com horário já passado —, visível logo abaixo das barras fixas. Como ela não é o primeiro item da lista principal (o bloqueio das 08:00 vem antes), a tela não fica no topo: a linha de resumo e o bloqueio ficam acima, fora da vista | Agenda 103 | RN-AGM-010; CA-005.5 |
| CT-AGM-RES-08 | Dr. 9 logado, Agenda aberta hoje às 12:00 | Observar a posição da rolagem | Nenhuma consulta que exige ação já passou do horário (a primeira é Otávio, 13:00): o alvo é a linha “AGORA”, que é o primeiro elemento da lista principal — a tela abre no topo, com a linha de resumo visível | — | CA-005.5 |
| CT-AGM-RES-09 | Dr. 11 logado, Agenda em qua, 16/09 | Observar | Sem linha “AGORA”; tela no topo | — | CA-005.5 |
| CT-AGM-RES-10 | Dr. 11 logado, hoje às 14:20 | Observar os sinalizadores de atraso | Cecília (10:30, Recepcionado): “Esperando · 230min” (fundo vermelho, ponto pulsante). Maria Silva (13:30, Aguardando Recepção): “Esperando · 50min”. Yuki Tanaka (14:00, Agendado, sem chegada): “Não chegou · 20min” (fundo cinza, sem animação). Beatriz (Em Atendimento): sem sinalizador. Reed e Fatima (horário ainda não chegou): sem sinalizador | Agendas 105, 62, 87, 103 | RN-AGM-009; CA-001.9 |
| CT-AGM-RES-11 | Dr. 11 logado, Agenda em qua, 16/09 e em sáb, 26/09 | Observar | Nenhum item com sinalizador de atraso, em dia passado ou futuro | — | CA-001.9 |
| CT-AGM-RES-12 | Aparelho com “reduzir movimento” ativado; estado de CT-AGM-RES-10 | Observar o sinalizador “Esperando” | O ponto antes do texto não pulsa; o texto nunca pisca | — | 02-Especificação, Sinalizador de atraso |
| CT-AGM-RES-13 | Dr. 11, Agenda aberta hoje, tela aberta por volta das 23:58 | Deixar a tela aberta até depois da meia-noite e esperar a próxima atualização automática | O dia continua o mesmo (agora passado): botão “Hoje” fora do estado ativo, sem linha “AGORA”, sem sinalizadores de atraso. Tocar em “Hoje” leva ao novo dia | — | RN-AGM-013; CA-005.7 |
4. Informações Complementares (Clínica, Unidade, Convênio, Classificação)
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-CTX-01 | Dr. 11 (acesso a 1 clínica), hoje | Conferir a última linha dos itens | Nenhum item mostra a clínica. A unidade aparece sozinha, com o ícone de alfinete: “Consultórios Norte” ou “Consultórios Sul” | ClientePerfilAcessoUsuario do Dr. 11 só na Clinica Gama | RN-AGM-017 (a, b); CA-008.1, CA-008.3 |
| CT-AGM-CTX-02 | Dr. 9 (acesso a 2 clínicas), hoje | Conferir a última linha dos itens | Todos mostram “Clínica Gama › Consultórios Sul” num único segmento, com um só ícone de prédio | Massa complementar (acesso à Gama Norte) | RN-AGM-017 (a, b); CA-008.1, CA-008.3 |
| CT-AGM-CTX-03 | Dr. 9 logado, Agenda em qui, 24/09 (hoje+1) | Observar a lista | Em ordem: 08:00 Helena Duarte Costa · “Gama Norte” sozinho (a Gama Norte tem uma só unidade ativa para consultas — a unidade não aparece) · Unimed Nacional; 09:00 Marcelo T. Pinto · “Clínica Gama › Consultórios Sul” · HapVida · “Quimioterapia › Ciclo 2” · Customizado; 10:00 Alejandro Ramirez · “Clínica Gama” sozinho (consulta sem unidade) · PARTICULAR · “Seguimento”; 12:00 bloqueio (ver CT-AGM-BLQ-01). Consultas das duas clínicas juntas, em ordem cronológica, sem separação | A101, A102, A103, B101 | RN-AGM-002, RN-AGM-008, RN-AGM-017; CA-008.2, CA-008.3, CA-008.5 |
| CT-AGM-CTX-04 | Dr. 11 logado, Agenda em sáb, 26/09 | Conferir o item de Reed Richards (14:30) | Sem unidade (a consulta não tem); só o convênio “Sulamérica” | Agenda 2 (IdUAtendimento nulo) | RN-AGM-017 (b); CA-008.3 |
| CT-AGM-CTX-05 (BD) | Dr. 11, Agenda hoje carregada | Alterar UnidadeAtendimento.StConsulta de Consultórios Sul (2) para 'N'; recarregar a Agenda; restaurar 'S' | Com uma só unidade ativa para consultas na Clínica Gama, nenhum item mostra mais a unidade. Depois de restaurar, a unidade volta | UnidadeAtendimento 2 | RN-AGM-017 (b); CA-008.3 |
| CT-AGM-CTX-06 | Dr. 11, hoje | Conferir o convênio de Fatima Al-Mansoori e de Beatriz | Fatima: “PARTICULAR” (particular aparece pelo nome curto cadastrado). Beatriz: “Bradesco Saúde”. Nenhum item mostra plano | Agendas 148, 103 | RN-AGM-017 (c); CA-008.4 |
| CT-AGM-CTX-07 | Dr. 11, hoje | Conferir a classificação | Nenhum item mostra classificação (nenhuma agenda do dia tem) — sem espaço vazio no lugar | — | RN-AGM-008; CA-001.4, CA-008.5 |
| CT-AGM-CTX-08 | Estado de CT-AGM-CTX-03, desktop | Passar o mouse sobre cada informação complementar do item de Marcelo (09:00) | Dicas: “Clínica e unidade”, “Convênio”, “Classificação”. No item de Helena (08:00): “Clínica”. No item de Yuki (Dr. 11, hoje): “Unidade de atendimento” | — | MSG-BAGM-18; CA-008.6 |
| CT-AGM-CTX-09 | Estado de CT-AGM-CTX-03, leitor de tela ativo | Navegar até o item de Marcelo (09:00) | O nome do link inclui as informações com os rótulos (ex.: “clínica e unidade Clínica Gama › Consultórios Sul, convênio HapVida, classificação Quimioterapia › Ciclo 2”). Os ícones não são anunciados | — | CA-008.6, CA-001.21 |
| CT-AGM-CTX-10 | Qualquer dia com consultas, desktop e celular | Comparar a linha de informações complementares com o resto do item | Texto de 12px, cor cinza (color-neutral-pure), sem chips nem cores, ícones de 14px na mesma cor, sem ”·” entre as informações; é o texto de menor destaque do item | — | RN-AGM-017; CA-008.7 |
5. Tags e 1ª Consulta
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-TAG-01 | Estado de CT-AGM-LIS-03 (Dr. 9, hoje) | Conferir as tags | Otávio: “ESPECIAL” (fundo #DEDAFF); Marcelo: “IC” (#FFC400); Sophia: “VIP” (#80FF38). Rogério (grupo de realizadas) sem tag — a tag Linha de cuidados que ele tem no prontuário não é exibida em agendas | Ver Massa de dados (Tags) | RN-AGM-006; CA-001.2 |
| CT-AGM-TAG-02 | Estado de CT-AGM-TAG-01, desktop | Passar o mouse sobre “IC” e “VIP” | Dicas: “Paciente com CID de insuficiência cardíaca” e “Paciente com tratamento administrativo diferenciado”. O chip mostra só a sigla | ProgramaApoio.Descricao | RN-AGM-006; CA-001.2 |
| CT-AGM-TAG-03 | Estado de CT-AGM-TAG-01, leitor de tela | Ler o item de Sophia Muller | Anuncia “VIP” e a descrição “Paciente com tratamento administrativo diferenciado” | — | CA-001.2, CA-001.21 |
| CT-AGM-TAG-04 | Dr. 9 logado, Agenda em sáb, 29/08 (hoje−25) | Expandir “1 realizada” e conferir o item de Sophia Muller (09:00) | Sem a tag VIP: a atribuição de VIP de Sophia só começa em 10/09/2026, depois do dia exibido. Em hoje (23/09), a mesma paciente mostra VIP (CT-AGM-TAG-01) | Agenda 120; ProgramaApoioPaciente 1 (DataInicio = 10/09/2026) | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-05 (BD) | Dr. 9 logado | 1. Alterar ProgramaApoioPaciente.DataFim do VIP de John Smith (id 2) para 01/09/2026. 2. Abrir a Agenda em seg, 31/08 (hoje−23) e expandir realizadas. 3. Abrir hoje e expandir realizadas. 4. Restaurar DataFim nulo | Passo 2: John Smith (10:45) com VIP — a atribuição estava vigente naquele dia. Passo 3: John Smith (09:00) sem VIP — já não está vigente hoje | Agendas 33, 102 | RN-AGM-006; CA-001.24 |
| CT-AGM-TAG-06 | Dr. 9 logado, Agenda em seg, 13/07 (hoje−72) | Expandir “1 realizada” | John Smith (09:30) sem VIP — a atribuição começa em 25/07/2026 | Agenda 32 | CA-001.24 |
| CT-AGM-TAG-07 | Dr. 11 e Dr. 9, hoje | Conferir o ícone de 1ª Consulta | Dr. 11: Anya Ivanova (realizadas) e Fatima Al-Mansoori. Dr. 9: John Smith (realizadas) e Sophia Muller. Nenhum outro item. O ícone nunca aparece como chip de tag | Agenda.PrimeiraConsulta = 'S' em 113, 148, 102, 134 | RN-CM-028; CA-001.8 |
6. Bloqueios de Horário
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-BLQ-01 | Dr. 9 logado, Agenda em qui, 24/09 (hoje+1), desktop | Observar o item das 12:00 | Item próprio entre as consultas, na posição das 12:00: coluna de horário 12:00 / 13:00, cadeado no lugar do avatar, rótulo “Bloqueado”, motivo “Reunião da equipe multidisciplinar” na linha de baixo, e “Gama Norte” (ícone de prédio). Sem foto, diagnóstico, status, modo, tags, convênio nem classificação. Fundo cinza bem claro com borda tracejada | B101 | RN-AGM-019; CA-009.1, CA-009.5 |
| CT-AGM-BLQ-02 | Dr. 11 logado, hoje às 12:00 | Observar o item das 08:00 | ”Bloqueado”, horário 08:00 / 08:45, sem motivo; só “Setor Rosa” com o ícone de alfinete (Dr. 11 tem uma clínica; a Clínica Gama tem duas unidades ativas para consultas e o bloqueio tem unidade). Nenhum convênio (o convênio reservado “BLOQUEIO” não aparece) | Agenda 164 | RN-AGM-019; CA-009.2 |
| CT-AGM-BLQ-03 | Estado de CT-AGM-BLQ-02 | Tocar ou clicar no bloqueio; depois navegar pela lista com Tab | Nada acontece ao tocar (o PEP não abre, sem hover). Com Tab, o foco passa direto do item anterior para o seguinte — o bloqueio nunca recebe foco | Agenda 164 | RN-AGM-001; CA-009.3 |
| CT-AGM-BLQ-04 | Estado de CT-AGM-BLQ-02 (12:00, o bloqueio já terminou) | Observar o bloqueio e a linha de resumo | O bloqueio continua igual, na posição das 08:00, acima da linha “AGORA”. A linha de resumo continua “2 realizadas” / “2 canceladas” — o bloqueio não entra em nenhum dos dois | Agenda 164 | RN-AGM-019; CA-009.6 |
| CT-AGM-BLQ-05 | Dr. 11 logado, Agenda em sex, 25/09 (hoje+2) | Observar a lista | Linha do fuso; abaixo, “Nenhuma consulta neste dia.” em texto discreto (não o estado vazio de tela cheia, e sem o botão de próximo dia); abaixo, o bloqueio 08:00–18:00 “Bloqueado” · “Congresso de Oncologia”, sem informações complementares (uma clínica, sem unidade) | B111 | RN-AGM-019; CA-009.4; EX-AGM-03 |
| CT-AGM-BLQ-06 | Dr. 11 logado, Agenda em hoje | Acionar “Próximo dia com consulta” (menu ⋮) e abrir o calendário de setembro | O atalho vai para sáb, 26/09, pulando 24/09 (vazio) e 25/09 (só bloqueio). No calendário, 25/09 não tem o ponto de dia com consulta | B111 | RN-AGM-003; CA-009.4 |
| CT-AGM-BLQ-07 (BD) | Dr. 11, Agenda aberta hoje | Alterar Agenda.Situacao do 164 para 'C' (cancelamento formal); esperar a próxima atualização automática (até 1 minuto); restaurar 'A' | O bloqueio some da lista. A linha de resumo continua “2 canceladas” — o bloqueio cancelado não vai para o grupo de canceladas. Depois de restaurar, volta na atualização seguinte | Agenda 164 | RN-AGM-019; CA-009.7 |
| CT-AGM-BLQ-08 (BD) | Dr. 11, Agenda aberta hoje | Preencher Agenda.RemovidoEm e UsuarioIdRemovido do 164 (exclusão lógica); esperar a atualização automática; restaurar nulos | O bloqueio some da lista, sem ir para nenhum grupo. Volta depois de restaurar | Agenda 164 | RN-AGM-019; CA-009.7 |
| CT-AGM-BLQ-09 | Estado de CT-AGM-BLQ-01, leitor de tela | Navegar pela lista em modo de leitura | O bloqueio é lido como grupo “Horário bloqueado, 12:00 às 13:00”, seguido de “Bloqueado”, do motivo e de “Clínica: Gama Norte”. Não é anunciado como link. O cadeado não é anunciado | B101 | 02-Especificação, Acessibilidade do item de bloqueio; MSG-BAGM-20 |
| CT-AGM-BLQ-10 | Dr. 11 logado na Central do Médico, hoje | Observar o painel Consultas (os dois estados do toggle) e o indicador “Consultas Hoje” | O bloqueio das 08:00 continua fora da Central — mesmos resultados de CT-CONS-10 e CT-KPI-07 do Cenários de Teste da Central. Só a Agenda exibe bloqueios | Agenda 164 | RN-CM-030, RN-AGM-019 |
| CT-AGM-BLQ-11 | Dr. 9, Agenda em 24/09, celular (<640px) | Observar o bloqueio | Sem avatar: o cadeado aparece antes do rótulo “Bloqueado”, na mesma linha | B101 | 02-Especificação, Item de bloqueio |
7. Navegação por Dia
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-NAV-01 | Dr. 11, Agenda em hoje | Tocar na seta “próximo dia” (›) duas vezes | 1º toque: qui, 24/09 (estado vazio — a seta não pula dias vazios). 2º toque: sex, 25/09 (só bloqueio). O botão “Hoje” sai do estado ativo | — | RN-AGM-003; CA-002.1 |
| CT-AGM-NAV-02 | Estado final de CT-AGM-NAV-01 | Tocar em “Hoje” | Volta para hoje, com a rolagem inicial de CT-AGM-RES-07; “Hoje” volta ao estado ativo. Tocar de novo em “Hoje” não faz nada | — | CA-002.5 |
| CT-AGM-NAV-03 | Dr. 11, Agenda em hoje | Abrir o menu ⋮ | Itens: “Próximo dia com consulta” com “sáb, 26/09” abaixo; “Dia anterior com consulta” com “qua, 16/09” abaixo; “Legenda dos ícones” | Agendas 2 (26/09), 111/85 (16/09) | RN-AGM-003; CA-002.2 |
| CT-AGM-NAV-04 | Dr. 11, Agenda em qua, 09/09 (hoje−14) | Acionar “Dia anterior com consulta” | Vai para qui, 27/08, pulando sáb, 29/08 e sex, 28/08 (só consultas canceladas: Agendas 7 e 3) | Agendas 112 (09/09), 7, 3, 4/81 (27/08) | RN-AGM-003; CA-002.2 |
| CT-AGM-NAV-05 | Dr. 9, Agenda em hoje | Abrir o menu ⋮ | “Próximo dia com consulta” · “qui, 24/09” (massa complementar); “Dia anterior com consulta” · “sex, 18/09” | A101–A103; Agenda 117 | CA-002.2 |
| CT-AGM-NAV-06 | Dr. 11, Agenda em sex, 27/11 (hoje+65, última consulta) | Abrir o menu ⋮; no desktop, observar o atalho »; abrir o calendário | ”Próximo dia com consulta” indisponível, com “Nenhum” no lugar da data, em todos os pontos de entrada (menu, », topo do calendário). Ao acionar, nada acontece | Agenda 99 | CA-002.3 |
| CT-AGM-NAV-07 | Dr. 11, Agenda em hoje, desktop | Observar a barra do dia | Setas ‹ ›, atalhos « » ao lado delas, data por extenso (“Quarta-feira, 23 de setembro”) com seta para baixo, “Hoje” e ⋮, numa única linha | — | 02-Especificação, Barra de Navegação do Dia |
| CT-AGM-NAV-08 | Dr. 11, Agenda em hoje | Tocar na data | Calendário de setembro (bottom sheet no celular, painel no desktop) com os dois atalhos e suas datas no topo; ponto sob 9, 16, 23, 26 e 30/09; sem ponto em 25/09 (só bloqueio) nem nos dias só com canceladas; hoje e o dia exibido destacados; foco no dia exibido. Selecionar 30/09 fecha o calendário e carrega o dia | Agendas 112, 111/85, hoje, 2, 123 | RN-AGM-003; CA-002.4 |
| CT-AGM-NAV-09 | Dr. 9, calendário aberto em setembro | Observar os pontos | Pontos em 2, 5, 8, 10, 18, 23, 24 e 30/09 | Agendas do Dr. 9 + A101–A103 | CA-002.4 |
| CT-AGM-NAV-10 | GET /days-with-appointments e GET /next-appointment-date simulando falha | Abrir a Agenda, o menu ⋮ e o calendário; usar as setas e “Hoje” | Atalhos indisponíveis, com “Indisponível no momento” (MSG-TAGM-06) no lugar da data no menu; calendário sem nenhum ponto. Setas e “Hoje” continuam funcionando. Nenhuma mensagem de erro na tela principal | — | EX-AGM-06; CA-002.6 |
| CT-AGM-NAV-11 | Agenda aberta no celular e no desktop | Abrir ⋮ → “Legenda dos ícones”; fechar com Esc; reabrir e fechar com o botão Fechar; reabrir e tocar fora | Lista, nesta ordem: Clínica (e unidade, depois de ›); Unidade de atendimento; Convênio; Classificação › subclassificação; 1ª Consulta; Horário bloqueado pela Recepção (sem consulta); Fuso horário dos horários exibidos; Consultas realizadas; Consultas canceladas (inclusive falta) — textos exatos de MSG-BAGM-19. Bottom sheet no celular, modal no desktop. Nos três modos de fechar, o foco volta ao botão ⋮ | — | CA-008.8; MSG-BAGM-19 |
8. Fuso Horário da Agenda
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-FUSO-01 | Aparelho no fuso de São Paulo; Clinica Gama com FusoHorarioOficial = 'America/Sao_Paulo' | Abrir a Agenda em qualquer dia | Primeira linha da lista: “Fuso horário: Horário Padrão de Brasília (GMT−03:00)”, discreta (12px, cinza, ícone de globo), sem destaque. A linha rola com a lista | Massa complementar | RN-AGM-018; CA-001.23; MSG-TAGM-09 |
| CT-AGM-FUSO-02 | Aparelho configurado no fuso de Londres; mesma clínica | Abrir a Agenda hoje (Dr. 11) | Linha do fuso destacada (fundo amarelo claro): “Fuso horário: Horário Padrão de Brasília (GMT−03:00) — diferente do fuso deste aparelho”. Os horários dos itens continuam os da clínica (Maria Silva às 13:30, não 17:30) | — | RN-AGM-018; CA-001.23; MSG-TAGM-10 |
| CT-AGM-FUSO-03 | Aparelho em Londres, hoje às 12:00 de São Paulo | Observar a linha “AGORA” e o estado de “Hoje" | "AGORA” marca 12:00 (hora da clínica), e “hoje” é o dia da clínica — mesmo que no aparelho já seja outro horário | — | RN-AGM-018 |
| CT-AGM-FUSO-04 (API) | Token do Dr. 11 | GET /day?date= hoje | timeZone = "America/Sao_Paulo"; serverNow com deslocamento -03:00; startTime/endTime no fuso da clínica | — | RN-AGM-018; 02-Especificação, GET /day |
9. Atualização Automática e Conexão
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-ATU-01 (BD) | Dr. 11, Agenda hoje às 12:00, grupo “2 realizadas” expandido, lista rolada até Yuki Tanaka, foco no item de Reed Richards | Registrar no banco a chegada de Yuki Tanaka (DhChegadaUTC, Agenda 87); esperar até 1 minuto | Yuki passa de “Agendado” para “Aguardando Recepção” (borda ff8a80), sem recarregar a tela. O grupo de realizadas continua expandido, a rolagem não muda e o foco continua em Reed. Restaurar DhChegadaUTC nulo | Agenda 87 | RN-AGM-013; CA-001.11 |
| CT-AGM-ATU-02 (BD) | Dr. 11, Agenda hoje | Registrar o fim do atendimento de Beatriz (Situacao='V', DhAtendimentoFimUTC, Agenda 103); esperar até 1 minuto | Beatriz sai da lista principal e entra no grupo de realizadas, que passa a “3 realizadas”. Restaurar | Agenda 103 | RN-AGM-010, RN-AGM-013; CA-001.11 |
| CT-AGM-ATU-03 | Dr. 11, Agenda hoje carregada às 12:00 | Derrubar a conexão (ou o GET /day) e esperar a próxima atualização; rolar a lista | Os dados continuam na tela. Logo abaixo da barra do dia aparece a faixa com ícone de wi-fi cortado: “Sem conexão — dados atualizados às 12:00” (horário da última atualização bem-sucedida), presa junto com a barra ao rolar. Leitor de tela anuncia a faixa uma vez | — | EX-AGM-09; CA-001.12; MSG-TAGM-03 |
| CT-AGM-ATU-04 | Estado de CT-AGM-ATU-03 | Restabelecer a conexão e esperar a próxima atualização | A faixa some sozinha (não há botão de fechar) | — | EX-AGM-09; CA-001.12 |
| CT-AGM-ATU-05 | Estado de erro de CT-AGM-LIS-12 (falha no carregamento inicial) | Esperar 2 minutos sem tocar em nada | A tela continua no estado de erro: nenhuma atualização automática roda nem a substitui, e a faixa de sem conexão não aparece | — | EX-AGM-02; CA-001.11 |
| CT-AGM-ATU-06 | Dr. 11, Agenda hoje, devtools na aba Rede | Observar as requisições por 3 minutos | GET /day do dia exibido a cada 1 minuto; a cada atualização, também GET /next-appointment-date nas duas direções. Leitor de tela não anuncia a lista inteira a cada atualização | — | RN-AGM-013; 02-Especificação, Atualização Automática |
10. Layout, Tema e Acessibilidade
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-UI-01 | Celular, largura 360px, Dr. 11 hoje | Medir a área fixa do topo e observar os itens | Cabeçalho + barra do dia com no máximo 120px de altura (sem a faixa de sem conexão); barra do dia numa única linha (‹ data curta “Qua, 23 set” › Hoje ⋮), sem os atalhos « »; nome da clínica oculto no cabeçalho; nenhum item com avatar | — | CA-001.16 |
| CT-AGM-UI-02 | Desktop (≥640px), Dr. 11 hoje | Observar o item de Yuki Tanaka (14:00) | Exatamente 3 linhas: “Yuki Tanaka · C50.3 - Câncer de ovários (bi)” + chip “Agendado”; “Presencial” + chip “INT.MED”; informações complementares (alfinete “Consultórios Norte”, carteira “Cassi”) | Agenda 87 | CA-001.17 |
| CT-AGM-UI-03 | Celular, Dr. 11 hoje | Observar o item de Maria Silva (13:30) | Linha 1: nome + status; linha 2: “C50.2 - Câncer de mama (QSI) · Teleatendimento” + INT.MED; à direita, o sinalizador de atraso, quando houver; última linha: informações complementares | Agenda 62 | 02-Especificação, Item de consulta (celular) |
| CT-AGM-UI-04 | Protótipo v1.13, amanhã, desktop e celular | Observar o item de Beatriz Mendes (08:00) | Três diagnósticos, ícone de 1ª Consulta, duas tags, complemento longo e as quatro informações complementares completos, sem reticências — o que não cabe quebra para a linha de baixo. No back-end: sem massa (ver Pendências) | Mock do Protótipo | CA-001.18 |
| CT-AGM-UI-05 | Aparelho em modo escuro, tema “Automático” | Abrir a Agenda; no menu do avatar, escolher “Claro”; fechar e reabrir a Agenda no mesmo aparelho | Abre no tema escuro; ao escolher “Claro”, passa ao tema claro na hora; ao reabrir, continua clara, mesmo com o aparelho em modo escuro | — | CA-001.19 |
| CT-AGM-UI-06 | Tema escuro, Dr. 9 hoje com os dois grupos expandidos | Medir contraste (ferramenta de acessibilidade) de chips de status, tags, sinalizadores, informações complementares, linha do fuso e bloqueio | Texto ≥ 4,5:1 com o fundo; elementos não textuais ≥ 3:1 | — | CA-001.20 |
| CT-AGM-UI-07 | Leitor de tela, Dr. 11 hoje | Navegar até o item de Maria Silva (13:30) | Anuncia um link com: horário 13:30 às 14:00, nome, diagnóstico, “Aguardando Recepção”, “Teleatendimento”, sinalizador de atraso (se houver), tag INT.MED com a descrição e as informações complementares com rótulos (“unidade de atendimento Consultórios Sul, convênio Unimed Nacional”). Enter ou Espaço abre o PEP | Agenda 62 | CA-001.21 |
| CT-AGM-UI-08 | Qualquer largura | Medir o botão “Hoje” e o contraste no estado ativo | Altura ≥ 44px; no estado ativo, texto/fundo ≥ 4,5:1; aria-current="date" | — | CA-001.22 |
| CT-AGM-UI-09 | Celular | Medir os alvos de toque (setas, ⋮, “Hoje”, dias do calendário, itens) | Todos com pelo menos 44×44px | — | 02-Especificação, Premissa de design |
11. Cabeçalho e Busca
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-CAB-01 | Dr. 11, Agenda aberta | Digitar “Rob” no campo de busca do cabeçalho e selecionar o resultado | Mesmo comportamento da Central (CT-BUSCA-01 a 05): após 1s, retorna Roberto Nascimento Alves (19); ao selecionar, abre o PEP dele | — | RN-AGM-014; CA-001.13 |
| CT-AGM-CAB-02 | Desktop e celular | Observar o cabeçalho | Mesma altura (64px) e componentes da Central: nome da clínica (oculto no celular), busca e avatar com menu (inclui “Tema”) | — | RN-AGM-014 |
12. Contrato dos Endpoints
| ID | Pré-condição | Passos | Resultado Esperado | Dados de Teste | RN/CA Relacionada |
|---|---|---|---|---|---|
| CT-AGM-API-01 (API) | Token do Dr. 11 | GET /day?date= hoje | 200. appointments com as 10 consultas do dia (inclusive as 2 canceladas), id e patient.id inteiros; blocks com um item: { id: 164, startTime: "08:00", endTime: "08:45", reason: null, clinic: null, unit: "Setor Rosa" }. Nenhum dado de paciente no bloqueio, e o bloqueio não aparece em appointments | Agendas de hoje do Dr. 11 | RN-AGM-019; 02-Especificação, GET /day; 04-Mapeamento 4.1 |
| CT-AGM-API-02 (API) | Token do Dr. 9 | GET /day?date= hoje+1 | blocks com { startTime: "12:00", endTime: "13:00", reason: "Reunião da equipe multidisciplinar", clinic: "Gama Norte", unit: null }; em appointments, A102 com classification = { name: "Quimioterapia", subName: "Ciclo 2" }, A103 com { name: "Seguimento", subName: null } e unit: null, A101 com unit: null | A101–A103, B101 | 04-Mapeamento 4.1 |
| CT-AGM-API-03 (API) | Token do Dr. 11 | GET /day?date= hoje e conferir insurance e delayMinutes | insurance sempre preenchido (inclusive “PARTICULAR”), sem plano. delayMinutes = 0 nas canceladas (107, 109) e em todas as consultas de dias que não são hoje | — | 02-Especificação, GET /day |
| CT-AGM-API-04 (API) | Token do Dr. 11 | GET /day sem date; com date=2026-13-40 | 400 nos dois casos | — | 02-Especificação, Códigos |
| CT-AGM-API-05 (API) | Token do Dr. 11 | GET /days-with-appointments?from=2026-09-01&to=2026-09-30; depois com to=2026-11-30 (91 dias) | 1ª: dates = 2026-09-09, 09-16, 09-23, 09-26, 09-30, em ordem — sem 09-25 (só bloqueio). 2ª: 400 (intervalo acima de 62 dias) | — | RN-AGM-003, RN-AGM-019; 04-Mapeamento 4.2 |
| CT-AGM-API-06 (API) | Token do Dr. 11 | GET /next-appointment-date?direction=next&from= hoje; direction=previous&from=2026-09-09; direction=next&from=2026-11-27 | "2026-09-26"; "2026-08-27"; null | — | 04-Mapeamento 4.3 |
| CT-AGM-API-07 (API) | Sem token | Chamar os três endpoints | 401 | — | — |
| CT-AGM-API-08 (BD) | Mecanismo de auditoria implantado (pendência) | Carregar um dia na Agenda; aguardar 2 atualizações automáticas; abrir o PEP de um paciente pela agenda | Um evento de auditoria pela leitura do dia (as atualizações automáticas do mesmo dia não geram novos eventos) e um pela abertura do PEP. Não executável até a trilha de auditoria existir | — | SBIS NGS1.07.03/04; 02-Especificação, Conformidade SBIS |
13. Idioma e Mensagens
| ID | Pré-condição | Passos | Resultado Esperado | RN/SBIS Relacionada |
|---|---|---|---|---|
| CT-AGM-MSG-01 | Interface em pt-BR | Provocar cada estado durante as Seções 2 a 12 e conferir o texto | Cada texto bate exatamente com o catálogo da 02-Especificação v1.16: MSG-EAGM-03, MSG-TAGM-01, 03, 05 (“Dia com consulta”, legenda do calendário), 06, 09, 10; MSG-BAGM-03, 07, 08, 09, 12, 14, 16, 17, 18, 19, 20. Nenhum termo técnico (nome de tabela, código HTTP) visível ao usuário | SBIS ECF.17.19 |
| CT-AGM-MSG-02 | Interface em pt-BR | Percorrer rótulos de status, modo e botões | Status: Agendado, Aguardando Recepção, Recepcionado, Em Atendimento, Finalizado, Cancelado. Modo: Presencial, Teleatendimento, Customizado | SBIS ECF.17.18 |
14. Matriz de Rastreabilidade
| Área | Casos | RN cobertas | CA / EX cobertos | SBIS | Cobertura |
|---|---|---|---|---|---|
| Lista e item | CT-AGM-LIS-01 a 14 | RN-AGM-002, 007, 009 | CA-001.1, 001.3, 001.5, 001.6, 001.7, 001.8, 001.10, 001.14, 001.15; EX-AGM-02, EX-AGM-03 | — | Dr. 11 e Dr. 9 com a carga real; Customizado e estado vazio dependem da massa complementar |
| Resumo, AGORA, rolagem, atraso | CT-AGM-RES-01 a 13 | RN-AGM-009, 010, 013 | CA-001.9, CA-005.1, 005.2, 005.3, 005.4, 005.5, 005.7 | — | Completo com a carga real; RES-13 exige executar perto da meia-noite |
| Informações complementares | CT-AGM-CTX-01 a 10 | RN-AGM-002, 008, 017 | CA-001.4, CA-008.1 a 008.7 | ECF.05.04 | Clínica e classificação dependem da massa complementar |
| Tags e 1ª Consulta | CT-AGM-TAG-01 a 07 | RN-AGM-006, RN-CM-028 | CA-001.2, CA-001.8, CA-001.24 | — | Vigência no dia exibido com dado real (TAG-04, 06) e por alteração no banco (TAG-05). Ver lacuna 1 |
| Bloqueios | CT-AGM-BLQ-01 a 11 | RN-AGM-001, 003, 019; RN-CM-030 | CA-009.1 a 009.7; EX-AGM-03 | ECF.05.02 (exibição) | Bloqueio sem motivo com dado real (164); com motivo e dia só com bloqueio na massa complementar |
| Navegação | CT-AGM-NAV-01 a 11 | RN-AGM-003 | CA-002.1 a 002.6, CA-008.8; EX-AGM-06 | — | Completo; NAV-10 exige simular falha |
| Fuso | CT-AGM-FUSO-01 a 04 | RN-AGM-018 | CA-001.23 | — | Depende do campo novo FusoHorarioOficial na massa |
| Atualização e conexão | CT-AGM-ATU-01 a 06 | RN-AGM-013 | CA-001.11, CA-001.12; EX-AGM-02, EX-AGM-09 | — | ATU-03 a 05 exigem simular falha |
| Layout, tema, acessibilidade | CT-AGM-UI-01 a 09 | — | CA-001.16 a 001.22 | — | UI-04 só no Protótipo (sem massa) |
| Cabeçalho e busca | CT-AGM-CAB-01, 02 | RN-AGM-014 | CA-001.13 | ECF.03.11, ECF.03.14 | Busca coberta pelos casos da Central |
| Endpoints | CT-AGM-API-01 a 08 | RN-AGM-003, 018, 019 | — | NGS1.07.03/04 | API-08 não executável até existir a trilha de auditoria |
| Idioma e mensagens | CT-AGM-MSG-01, 02 | — | — | ECF.17.18, ECF.17.19 | Só pt-BR |
Cobertura dos critérios de aceitação: 51/51 (CA-001.1 a 001.24, CA-002.1 a 002.6, CA-005.1 a 005.5 e 005.7, CA-008.1 a 008.8, CA-009.1 a 009.7). Fluxos de exceção: 4/4 (EX-AGM-02, 03, 06, 09). Total: 97 casos.
Não coberto, por decisão de escopo: volume (a Especificação não define limite de consultas por dia nem meta de tempo de carga); concorrência (Recepção alterando a agenda no mesmo segundo da atualização automática — não especificado); textos en-US/es-419.
Lacunas de especificação encontradas ao montar os casos — para decisão do solicitante; nenhum documento 01-04 foi alterado:
- Origem das tags IC, INT.MED e ESPECIAL. Na carga, essas três vêm de
PEPProgramaApoioPaciente(vínculo ao prontuário), e a Central do Médico as exibe nos cards (Cenários de Teste da Central, Seção 3). O Mapeamento da Agenda (4.1, campotags) só citaProgramaApoioPaciente, e o da Central também. Os casos acima seguem a regra de negócio (RN-AGM-006: mesmo critério da Central), ou seja, esperam essas tags. Se a Seção 4 continuar só comProgramaApoioPaciente, CT-AGM-TAG-01, CT-AGM-RES-01/03 e o detalhamento de CT-AGM-LIS-01/03 mudam (sem IC, INT.MED e ESPECIAL). Falta também dizer como fica a vigência dessas tags, já que o vínculo ao prontuário não tem data de início nem de fim. - Unidade não destinada a consultas num bloqueio. O bloqueio 164 está no “Setor Rosa” (
StConsulta = 'N'). Pela regra atual (a unidade aparece quando a clínica tem mais de uma unidade ativa para consultas e o registro tem unidade), “Setor Rosa” aparece no bloqueio (CT-AGM-BLQ-02). Confirmar se é o esperado. - Texto dos atalhos na Especificação. A descrição da Barra do Dia diz que os atalhos ignoram “dias só com consultas canceladas”, sem citar bloqueios; RN-AGM-003, CA-009.4 e o Mapeamento já dizem que dia só com bloqueio também é ignorado. Os casos seguem a regra (CT-AGM-BLQ-06, CT-AGM-API-05).
15. Histórico de Versões
- v1.0 (08/10/2026) — Versão inicial, a pedido do solicitante (“vamos para os cenários de testes?”), seguindo o modelo dos Cenários de Teste da Central do Médico (v1.28) e do Check-in de Usuários, Épico 5 (v1.3). Construído a partir de 01-Definição v1.14, 02-Especificação v1.16, 03-Protótipo v1.13 (.md e .html) e 04-Mapeamento de BD v1.4. Cada caso cita a RN, CA, EX ou seção de onde veio; nenhuma regra nova foi criada. O que a QA precisa saber:
- Massa: usa a
CargaCMZero.xlsx(data-base 23/09/2026, a mesma da Central), conferida aba a aba para os Drs. 11 e 9: agendas de consulta de todos os dias, status calculado pelas regras deAppointmentStatus(), unidades, convênios (Chave.Descricao), diagnósticos (PEPDiagnostico.Diagnostico, TipoO), fotos, tags (MostrarEm, vigências) e o bloqueio 164. Achados na carga: a única clínica do cliente Gama faz a clínica nunca aparecer; não há classificação, modo Customizado, bloqueio com motivo nem dia só com bloqueio; a Clinica Gama está com idiomaen-US; o campoFusoHorarioOficialainda não existe. Para cobrir isso, a Seção 1 propõe uma massa complementar [PROPOSTA], com nomes inventados (“Gama Norte”, “Consultório Único”, classificações “Quimioterapia”/“Seguimento”, subclassificação “Ciclo 2”, motivos de bloqueio), toda fora do dia de hoje — os casos da Central não mudam. - Divergências entre a carga e o Cenários de Teste da Central: diagnóstico de Yuki Tanaka (carga “C50.3 - Câncer de ovários (bi)”, com
IdDiagnostico = 'C56.3'; Central “C56.3 - …”) e de Reed Richards (carga “C64 - Câncer de rins”; Central “C64 - Câncer do rim”). Os casos daqui seguem a carga. - 97 casos em 12 áreas: lista e item (14), resumo/AGORA/rolagem/atraso (13), informações complementares (10), tags e 1ª Consulta (7), bloqueios (11), navegação (11), fuso (4), atualização e conexão (6), layout/tema/acessibilidade (9), cabeçalho e busca (2), endpoints (8), idioma e mensagens (2). Cobertura: 51/51 CA, 4/4 EX.
- Três lacunas de especificação listadas ao final da Seção 14 (origem das tags vinculadas ao prontuário, unidade não destinada a consultas num bloqueio, texto dos atalhos na Especificação). Os casos foram escritos com o resultado esperado pela regra de negócio.
- Revisão por Dois Críticos: não aplicável — cobertura de teste para comportamento já especificado, sem decisão de modelagem nova.
- Massa: usa a