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 7).
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 + leitura de status |
| 3 | Incluir embarque | edit | Ciclo 42+42 |
| 4 | Desembarque ≤18:00 × ≥18:01 | edit | Regra do horário |
| 5 | Evento Geral com Valor | edit | Eventos do RM / Valor |
| 6 | "Meses anteriores" | edit | Ações pré-período |
| 7 | Detalhe da célula | view / edit | Consulta de evento |
| 8 | Férias/Afastamento do RM | view / edit | Importação do RM |
| 9 | Regra 42+42 / dobra | edit | Dobra ao exceder 42 |
| 10 | Regra Sindimar | edit | Folga indenizada |
| 11 | Administração de períodos | edit | Período único |
| 12 | Sem período aberto | edit | Bloqueio de inclusão |
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 8).
- Um período de contabilização aberto que cubra as datas usadas na demonstração (criado no Cenário 11 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.
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".
Spec: MIT098 §Resumo (perfis). Detalhes em Acesso e permissões.
Cenário 2 — Consulta no calendário
Objetivo: demonstrar filtros 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, ajuste Data Inicial/Final (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 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.


Spec: MIT098 §Interface (filtros), §Integrações (zoom RM). Detalhes em 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.

Spec: MIT098 §Interface (ações por status), §Resumo (ciclo 42+42). Detalhes em Inclusão de evento.
Cenário 4 — 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.

Spec: MIT098 §Resumo (desembarque). Regra detalhada no Glossário de status e regras.
Cenário 5 — 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).


Spec: MIT098 §Fluxo txt (códigos do RM). Detalhes em Inclusão de evento e no Glossário.
Cenário 6 — "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.
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.".
Spec: MIT098 §Interface ("Status em datas anteriores ao período em aberto"). Detalhes em Inclusão de evento.
Cenário 7 — 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.

Spec: MIT098 §Interface (detalhe). Detalhes em Detalhe da célula e Férias/Afastamento.
Cenário 8 — 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.

Spec: MIT098 §Resumo (importação do RM). Detalhes em Detalhe da célula e Férias/Afastamento.
Cenário 9 — 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.

Spec: MIT098 §Resumo (exemplo "embarque de 50 dias"). Regra no Glossário.
Cenário 10 — 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).
Spec: MIT098 §Resumo (Sindimar / exemplos 10+5+30 e 10+8). Regra no Glossário.
Cenário 11 — 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.


Spec: MIT098 §Pré cadastro de Períodos. Detalhes em Administração de períodos.
Cenário 12 — 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 11).
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.
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.
Spec: MIT098 §Pré cadastro de Períodos / §Interface. Detalhes em Administração de períodos e Inclusão de evento.
Encerramento
Ao concluir os 12 cenários, o cliente terá visto: controle de acesso por perfil, consulta e leitura de status, inclusão de eventos (embarque, desembarque, Geral com Valor, meses anteriores), detalhe e dados do RM, as regras de cálculo (42+42, dobra, Sindimar) e a administração de períodos. Para reforçar qualquer regra, consulte o Glossário de status e regras.