Roteiro de cenários de teste manual (demonstração ao cliente)
Esta página é um roteiro passo a passo para apresentar o Controle Marítimo ao cliente, exercitando as principais regras do processo. Cada cenário traz objetivo, pré-condições, passos, resultado esperado e a regra/seção da spec que ele comprova.
Execute os cenários na ordem — alguns reaproveitam dados criados nos anteriores (ex.: o embarque do Cenário 3 alimenta o detalhe do Cenário 9, e os lançamentos da demonstração inteira aparecem no TXT do Cenário 16).
Resumo dos cenários
| # | Cenário | Perfil | Comprova |
|---|---|---|---|
| 1 | Acesso por perfil | view / edit / sem grupo | Permissões |
| 2 | Consulta no calendário | view | Filtros (limite ≤ 2 meses) + leitura de status |
| 3 | Incluir embarque | edit | Ciclo 42+42 |
| 4 | Hotel antes do embarque | edit | Hotel = 1º dia de embarque |
| 5 | Desembarque ≤18:00 × ≥18:01 | edit | Regra do horário |
| 6 | Curso em folga e Troca de CC | edit | Ações de Folga/Embarcado |
| 7 | Evento Geral com Valor | edit | Eventos do RM / Valor |
| 8 | "Meses anteriores" | edit | Ações pré-período |
| 9 | Detalhe da célula | view / edit | Consulta de evento |
| 10 | Férias/Afastamento do RM | view / edit | Importação do RM |
| 11 | Regra 42+42 / dobra | edit | Dobra ao exceder 42 |
| 12 | Regra Sindimar | edit | Folga indenizada |
| 13 | Validações do servidor | edit | Duplicidade + datas futuras |
| 14 | Administração de períodos | edit | Período único |
| 15 | Sem período aberto | edit | Bloqueio de inclusão |
| 16 | Processar Folha (TXT + e-mails) | edit + DP | TXT (códigos, 537/0537) e alertas >42 dias |
Preparação do ambiente
Antes de começar, garanta:
- Um usuário no grupo
controle_maritimo_view(só consulta) e um nocontrole_maritimo_edit(inclusão + administração) — ver Acesso e permissões. - Opcional: um usuário sem nenhum dos grupos, para o teste de bloqueio (Cenário 1).
- No RM: ao menos um marítimo de exemplo, um centro de custo e um porto, além de dias de férias/afastamento lançados (Cenário 10).
- Um período de contabilização aberto que cubra as datas usadas na demonstração (criado no Cenário 14 ou previamente) — ver Administração de períodos.
- Lista de eventos limpa para o marítimo de exemplo, para os status pintarem de forma previsível.
- Para o Cenário 16: fluxo da folha implantado — processos publicados, datasets
ds_folha_movimento_query/ds_pasta_controle_maritimopublicados, templates de e-mail cadastrados e sessão de e-mail do servidor configurada.
Cenário 1 — Acesso por perfil
Objetivo: mostrar que a interface muda conforme o grupo do usuário.
Pré-condições: usuários dos três tipos (view, edit, sem grupo).
Passos:
- Entre como usuário só-view e abra o widget.
- Observe que não há os botões "Processar Folha" / "Configurar períodos" e que as células do calendário não têm "+".
- Saia e entre como usuário edit: os botões aparecem e as células elegíveis exibem o "+".
- (Opcional) Entre como usuário sem grupo.
Resultado esperado: os perfis view e edit veem a mesma consulta, mas só o edit tem ações de escrita. O usuário sem grupo vê a tela de bloqueio "Acesso restrito".
Detalhes: Acesso e permissões.
Cenário 2 — Consulta no calendário
Objetivo: demonstrar filtros, o limite de 2 meses e a leitura dos status.
Pré-condições: perfil view (ou edit); marítimos com eventos lançados no período.
Passos:
- No card Filtros de Pesquisa, informe um intervalo maior que 2 meses e clique em Buscar.
- Corrija para um intervalo ≤ 2 meses.
- (Opcional) Selecione um Nome do Marítimo e/ou um Centro de Custo pelos zooms (RM).
- Clique em Buscar.
- Leia a legenda acima da grade e identifique as pills no calendário.
- Clique em Limpar para voltar ao estado inicial.
Resultado esperado: o intervalo acima do limite é recusado com "O período pode ser de no máximo 2 meses." (a consulta não dispara); com o período válido, o calendário monta com as pills coloridas; o filtro por centro de custo traz todos os marítimos vinculados; Limpar zera marítimo/centro de custo e descarrega a grade.



Detalhes: Filtros e busca e Calendário — leitura de status.
Cenário 3 — Incluir embarque
Objetivo: registrar um embarque e ver o ciclo pintar Embarcado/Folga.
Pré-condições: perfil edit; período aberto; célula Disponível em data ≤ hoje.
Passos:
- Clique no "+" de uma célula Disponível.
- Em Ação, escolha Embarque.
- Preencha Porto de Embarque (zoom), Centro de Custo (zoom) e Quantidade de dias de embarque (≥ 1).
- Clique em Salvar.
Resultado esperado: toast "Evento incluído com sucesso."; o calendário recarrega pintando Embarcado a partir do dia e a previsão de folga correspondente.

Detalhes: Inclusão de evento.
Cenário 4 — Hotel antes do embarque
Objetivo: mostrar que o dia de hotel conta como o 1º dia de embarque.
Pré-condições: perfil edit; período aberto; célula Disponível em data ≤ hoje (use outro marítimo, ou dias livres do mesmo).
Passos:
- Clique no "+" de uma célula Disponível e escolha a ação Hotel; inclua uma observação e salve.
- Observe a pill Hotel no dia.
- No dia seguinte ao hotel, inclua um Embarque (Cenário 3) com N dias.
- Observe a corrida de embarque resultante.
Resultado esperado: o hotel encadeia como 1º dia da corrida — a contagem dos N dias de embarque começa no dia do hotel, e a previsão de folga considera o hotel como dia embarcado. Enquanto o embarque ainda não foi lançado, o dia de hotel pinta sozinho, sem gerar previsão de folga.

Detalhes: Inclusão de evento e Glossário.
Cenário 5 — Desembarque ≤18:00 × ≥18:01
Objetivo: demonstrar o efeito do horário do desembarque na 1ª folga.
Pré-condições: perfil edit; período aberto; célula Embarcado.
Passos:
- Clique no "+" de uma célula Embarcado e escolha Desembarque.
- Informe um horário até 18:00 (ex.:
14:00) e salve; observe o calendário. - Repita em outro embarque com horário a partir de 18:01 (ex.:
19:30). - Abra o detalhe de cada célula para conferir o horário registrado.
Resultado esperado: com horário ≤ 18:00 o próprio dia já conta como 1º dia de folga; com ≥ 18:01 o dia ainda conta como embarcado e a folga começa no dia seguinte.

Detalhes: Glossário de status e regras.
Cenário 6 — Curso em folga e Troca de CC
Objetivo: exercitar as ações dos status Folga e Embarcado além do desembarque.
Pré-condições: perfil edit; período aberto; uma célula Folga (ex.: a folga gerada pelo desembarque ≤18:00 do Cenário 5) e uma célula Embarcado.
Passos:
- Clique no "+" de uma célula Folga e abra a lista Ação: as opções são Embarque (reembarque em folga) e Curso.
- Escolha Curso — observe o aviso "O curso gera impacto na folha de pagamento." — e salve.
- Clique no "+" de uma célula Embarcado e escolha Troca de Centro de Custo; selecione o novo CC no zoom e salve.
- Abra o detalhe das duas células.
Resultado esperado: o curso pinta sobre o dia de folga e vira evento de folha ("curso em folga" — código 0527/0536 conforme o sindicato, conferido no Cenário 16); a troca de CC registra o novo centro de custo no dia (visível no detalhe), sem evento de folha próprio.


Detalhes: Inclusão de evento.
Cenário 7 — Evento Geral com Valor
Objetivo: mostrar a lista de eventos do RM e o campo Valor condicional.
Pré-condições: perfil edit; período aberto; célula em data ≤ hoje.
Passos:
- Clique no "+" e escolha a ação Geral.
- No zoom Evento de folha (RM), selecione um evento que exige valor — ex.: Prêmio (328).
- Confirme que o campo Valor apareceu; preencha-o.
- (Opcional) Selecione um evento sem valor e confirme que o campo some.
- Salve.
Resultado esperado: o campo Valor só aparece para os eventos 328/366/422/539; salvar sem valor nesses casos exibe "Informe o valor para este evento.". A lista de eventos exclui os de tratamento próprio (dobras, folgas indenizadas, meses anteriores).


Detalhes: Inclusão de evento e Glossário.
Cenário 8 — "Meses anteriores"
Objetivo: mostrar que datas anteriores ao período aberto só aceitam ASO/Curso/Geral.
Pré-condições: perfil edit; período aberto; célula em mês anterior ao período aberto.
Passos:
- Clique no "+" de uma célula em data anterior ao período aberto.
- Abra a lista Ação.
- Lance um ASO (marque "Gerar folha de pagamento") e/ou um Curso — eles serão conferidos no TXT do Cenário 16.
Resultado esperado: as únicas ações oferecidas são ASO, Curso e Geral — independentemente do status da célula. ASO exibe "Gerar folha de pagamento"; Curso avisa "O curso gera impacto na folha de pagamento.". Na geração da folha, esses lançamentos entram como eventos de "Meses Anteriores" (ASO → 537, Curso → 0537).
Detalhes: Inclusão de evento.
Cenário 9 — Detalhe da célula
Objetivo: consultar o que foi gravado num dia.
Pré-condições: célula com evento lançado (ex.: o embarque do Cenário 3).
Passos:
- Clique no rótulo da pill de uma célula com evento.
- Leia, no modal "Eventos do dia", os campos preenchidos (porto, centro de custo, dias, horário, evento RM, valor, observação, Registrado por).
- Clique em Fechar.
Resultado esperado: o detalhe é somente leitura e mostra apenas os campos preenchidos do evento. Funciona para os dois perfis.

Detalhes: Detalhe da célula e Férias/Afastamento.
Cenário 10 — Férias/Afastamento do RM
Objetivo: mostrar que férias e afastamento são importados e não editáveis.
Pré-condições: marítimo com férias e/ou afastamento lançados no RM, dentro do período filtrado.
Passos:
- Filtre o período que contém os dias de férias/afastamento e clique em Buscar.
- Observe as pills Férias (amarelo) e Afastamento (vermelho).
- (Perfil edit) Confirme que essas células não têm "+".
Resultado esperado: os dias aparecem importados do RM, sem ação de inclusão ("Não há ações disponíveis para este dia"); a correção é feita no RM.

Detalhes: Detalhe da célula e Férias/Afastamento.
Cenário 11 — Regra 42+42 / dobra
Objetivo: comprovar a dobra ao exceder 42 dias embarcados.
Pré-condições: perfil edit; período aberto.
Passos:
- Registre um embarque de 50 dias (Cenário 3 com quantidade de dias = 50).
- Observe a sequência de pills ao longo dos dias.
Resultado esperado: os primeiros 42 dias ficam Embarcado; os 8 dias seguintes viram Dobra; a folga prevista é limitada a 42 dias.

Detalhes: Glossário.
Cenário 12 — Regra Sindimar (folga indenizada)
Objetivo: demonstrar o reembarque antes do fim da folga.
Pré-condições: perfil edit; período aberto; marítimo do sindicato aplicável (0011).
Passos:
- Registre um embarque, um desembarque que gere folga e, em seguida, um reembarque.
- Compare dois casos: reembarque com ≤ 7 dias de terra e com > 7 dias.
Resultado esperado: com ≤ 7 dias de terra, os dias contam como embarcados (continuidade, sem zerar o ciclo); com > 7 dias (ex.: folga de 8 dias), os 2 primeiros dias do novo embarque viram folga indenizada (evento de folha, sem pill própria).
Detalhes: Glossário.
Cenário 13 — Validações do servidor (duplicidade e datas futuras)
Objetivo: mostrar que as regras valem também na gravação (servidor), não só na tela.
Pré-condições: perfil edit; período aberto; o desembarque ≥ 18:01 do Cenário 5 já lançado (o dia segue pintado como Embarcado/Dobra).
Passos:
- No mesmo dia do desembarque ≥ 18:01 do Cenário 5, clique no "+" e tente lançar outro Desembarque; salve.
- Observe a recusa e feche o modal.
- Clique no "+" de uma célula em data futura e abra a lista Ação.
Resultado esperado: a duplicidade é recusada pelo servidor com "Já existe um evento deste tipo para o marítimo neste dia." — o modal permanece aberto exibindo a mensagem, sem gravar nada. Em datas futuras, a única ação disponível é Observação (o futuro exibe apenas previsões) — a liberação de ações completas em datas futuras existe apenas como override administrativo opcional, descrito em Administração de períodos.


Detalhes: Inclusão de evento.
Cenário 14 — Administração de períodos
Objetivo: criar e alternar períodos de contabilização.
Pré-condições: perfil edit.
Passos:
- Acesse Configurar períodos (ViewMode) ou o EditMode.
- Clique em Novo período, informe Data inicial/final e (opcional) marque "Abrir período"; salve.
- Crie um segundo período que se sobreponha ao primeiro e tente salvar.
- Clique numa linha para abrir outro período e observe o badge "Aberto" mudar.
Resultado esperado: período criado com toast de sucesso; a sobreposição é recusada ("O período se sobrepõe a um período existente."); só pode haver um período aberto — abrir um fecha o anterior.


Detalhes: Administração de períodos.
Cenário 15 — Sem período aberto
Objetivo: mostrar que a inclusão fica bloqueada sem período aberto.
Pré-condições: perfil edit; nenhum período aberto (feche todos no Cenário 14).
Passos:
- Com todos os períodos fechados, volte ao calendário e faça uma busca.
- Observe o topo da tela e as células.
- Reabra o período ao final (o Cenário 16 usa lançamentos do período).
Resultado esperado: o banner de período fica amarelo (sem período aberto) e o botão "+" não aparece em nenhuma célula — a inclusão fica indisponível até reabrir um período.
Detalhes: Administração de períodos e Inclusão de evento.
Cenário 16 — Processar Folha (TXT + e-mails)
Objetivo: consolidar os lançamentos da demonstração no TXT de importação do RM e ver os e-mails do fluxo.
Pré-condições: fluxo da folha implantado (ver Preparação); perfil edit para o botão; usuário apto a movimentar o processo (grupo do Departamento Pessoal no Fluig, conforme a publicação); período aberto; os eventos dos cenários anteriores gravados.
Passos:
- No topo do ViewMode, clique em Processar Folha — abre a tela de início do processo BPM.
- Preencha Período — Data inicial/final com o período regular de contabilização que contenha a data de hoje (os lançamentos de "meses anteriores" do Cenário 8 foram gravados hoje — é a data de gravação que os direciona para esta folha) e a Data de pagamento; envie o fluxo.
- Aguarde as atividades automáticas: Geração do TXT (cria o
.zipno GED, ex.:movimento_folha_2026-06.txt.zip) e Envio ao DP (e-mail "Movimento da Folha - Controle Marítimo (…)" com anexo). - Abra o TXT e confira as linhas no layout
chapa;dataPagamento;código;00:00;referência;valor;0,00;N;N:- 0307/0331 — dias de dobra (Cenários 11/12), conforme o sindicato;
- 0705/0333 — folga indenizada (Cenário 12);
- 0527/0536 — curso em folga (Cenário 6);
- 339/340 — ASO com pagamento;
- código escolhido no Geral (ex.: 328 com o valor preenchido — Cenário 7);
- 537/0537 — os lançamentos de "meses anteriores" do Cenário 8 (ASO → 537, Curso → 0537), incluídos automaticamente, sem ampliar o período informado.
- Observe a etapa Alerta > 42 dias: se algum marítimo estiver há mais de 42 dias embarcado até hoje (ex.: o embarque de 50 dias do Cenário 11, se ainda "a bordo") ou em folga há mais de 42 dias, chega o e-mail "Alerta - Limite de 42 dias (Controle Marítimo)" com tripulante e data-limite; sem ocorrências, a etapa não envia e-mail.
Resultado esperado: documento .zip criado na pasta do GED; e-mail do movimento com o TXT anexo; linhas do TXT com os códigos e valores dos lançamentos da demonstração (incluindo os "meses anteriores" identificados automaticamente); alerta de 42 dias apenas quando há ocorrência.
:::note Ambiente de homologação O destinatário dos e-mails está fixado (mock) e a pasta do GED é a 277 — ajustes previstos para produção. :::
Encerramento
Ao concluir os 16 cenários, o cliente terá visto: controle de acesso por perfil, consulta com os três filtros (e o limite de 2 meses), inclusão de eventos (embarque, hotel encadeado, desembarque com corte das 18:00, curso em folga, troca de CC, Geral com Valor, meses anteriores), detalhe e dados do RM, as regras de cálculo (42+42, dobra, Sindimar), as validações do servidor, a administração de períodos e o fluxo completo da folha (TXT com os códigos do RM + e-mails). Para reforçar qualquer regra, consulte o Glossário de status e regras.