Skip to content

feat(#46): implementa feature de responder formulários com ABC < 20 - #66

Merged
Anarayssa-dev merged 11 commits into
sprint-3from
refactor/app_helpers
Jun 28, 2026
Merged

feat(#46): implementa feature de responder formulários com ABC < 20#66
Anarayssa-dev merged 11 commits into
sprint-3from
refactor/app_helpers

Conversation

@rafaelcarvalhoj

@rafaelcarvalhoj rafaelcarvalhoj commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

O que foi feito

Implementação completa da feature de responder formulários de avaliação (Issue #46), com refatoração para garantir ABC Score < 20 por método conforme exigência de qualidade.

Funcionalidades implementadas

  • Discente visualiza formulários pendentes, respondidos e fechados (GET /formularios)
  • Discente responde um formulário com validação de campos obrigatórios e valores 1–5 (POST /formularios/:formulario_id/envio_formularios)
  • Discente visualiza sua própria resposta após envio (GET /formularios/:id/minha_resposta)
  • Redirecionamentos corretos: formulário fechado, já respondido, sem acesso à turma

Refatoração ABC Score

Método Antes Depois
EnvioFormulariosController#create 76.2 16.9
FormulariosController#index 29.4 16.2
FormulariosController#minha_resposta 19.7 19.3

Todos os métodos abaixo de 20. Score RubyCritic: 91.42 (era 90.23).

Correções incluídas

  • Turma model: adicionadas belongs_to :disciplina e belongs_to :docente que existiam no schema mas não no model
  • Factory :turma: adicionados departamento e nome obrigatórios
  • Factory :user: criada para o model de autenticação atual (User)
  • Specs corrigidos: session[:usuario_id]session[:user_id]
  • Gem rails-controller-testing adicionada para suporte a assigns nos specs

Plano de testes

Rodar os testes

# Specs unitários e de controller (26 exemplos, 0 falhas neste escopo)
bundle exec rspec spec/controllers/formularios_controller_spec.rb spec/models/formulario_spec.rb

# Feature BDD completa (4 cenários, 23 steps — todos passando)
bundle exec cucumber features/responder_formulario.feature

# Verificação ABC Score por método
bundle exec flog --all app/controllers/formularios_controller.rb app/controllers/envio_formularios_controller.rb

Closes #46

Copilot AI review requested due to automatic review settings June 27, 2026 21:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@rafaelcarvalhoj rafaelcarvalhoj changed the title Refactor: Saikuro app_helpers feat(#46): implementa feature de responder formulários com ABC < 20 Jun 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

3 participants