Skip to content

Liberação de módulos e aulas com base no progresso - #93

Open
fabianocruzdf wants to merge 2 commits into
getfy-opensource:mainfrom
fabianocruzdf:issue-50-liberaco-modulo-progresso-conclusao
Open

Liberação de módulos e aulas com base no progresso#93
fabianocruzdf wants to merge 2 commits into
getfy-opensource:mainfrom
fabianocruzdf:issue-50-liberaco-modulo-progresso-conclusao

Conversation

@fabianocruzdf

Copy link
Copy Markdown

Objetivo

Adiciona regras de liberação de módulos e aulas com base no progresso e na conclusão de conteúdos anteriores.

Alterações

  • Permite condicionar módulos ao progresso de um ou mais módulos anteriores.
  • Permite definir o percentual mínimo individual de cada módulo, com padrão de 100%.
  • Permite condicionar aulas à conclusão de aulas anteriores do mesmo módulo.
  • Mantém as condições disponíveis para liberação imediata, após X dias e em uma data.
  • Impede dependências da própria entidade, de conteúdos posteriores ou de outra estrutura.
  • Atualiza dependências disponíveis e remove seleções inválidas após reordenação.
  • Preserva o módulo selecionado após salvar uma aula.
  • Exibe estado de carregamento ao salvar um módulo.
  • Mantém compatibilidade com a duração de acesso implementada na issue [FEATURE]: DURAÇÃO DO CONTEUDO #48.

Regras combinadas

  • Conteúdo expirado permanece bloqueado pela duração de acesso.
  • Agendamento por dias/data continua sendo respeitado.
  • Após atender validade e agendamento, são verificadas as dependências de progresso ou conclusão.

Validação

  • MemberContentDurationTest
  • MemberModuleReleaseDependencyTest
  • MemberLessonReleaseDependencyTest
  • 8 testes e 119 assertions aprovados
  • npm run build
  • git diff --check

Ajustes após validação local

  • Corrige a persistência de dependências inválidas após reordenar módulos, seções ou aulas.
  • Confirma que 1 de 2 aulas concluídas libera corretamente uma dependência configurada em 50%.
  • Amplia a cobertura para percentuais fracionados, múltiplas dependências, liberação imediata, após dias, por data, módulos vazios e dependências entre aulas.
  • Ajusta os slugs dos testes ao limite real de 16 caracteres do banco.

Validação adicional

  • 47 testes da área de membros aprovados.
  • 591 assertions.
  • Fluxos principais validados no navegador com diferentes níveis de progresso.
  • Massa utilizada apenas localmente e não incluída no versionamento.

Closes #50

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Liberação de módulos por progressão ou conclusão

2 participants