Skip to content

Commit

Permalink
🐛 Corrige l'export Littératie
Browse files Browse the repository at this point in the history
  • Loading branch information
cprodhomme authored and Guitguitou committed Jan 31, 2025
1 parent 5db7a10 commit d69fd4c
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 5 deletions.
2 changes: 1 addition & 1 deletion app/models/evenement_question.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
class EvenementQuestion
def initialize(question:, evenement: nil)
@evenement = evenement || Evenement.new(donnees: {})
@question = question
@question = question || Question.new(nom_technique: evenement.donnees['question'])
end

def score
Expand Down
12 changes: 8 additions & 4 deletions app/models/restitution/positionnement/export_litteratie.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@

module Restitution
module Positionnement
class ExportLitteratie
class ExportLitteratie
attr_reader :evenements_questions

def initialize(partie, onglet_xls)
super()
@partie = partie
Expand All @@ -14,12 +16,14 @@ def initialize(partie, onglet_xls)
questions = Question.where(nom_technique: evenements_reponses.map do |evenement|
evenement.donnees['question']
end).order(:nom_technique)
@evenements_questions = questions.map do |question|
evenement = evenements_reponses.find do |e|
e.question_nom_technique == question.nom_technique

@evenements_questions = evenements_reponses.map do |evenement|
question = questions.find do |question|
evenement.donnees['question'] == question.nom_technique
end
EvenementQuestion.new(question: question, evenement: evenement)
end

@onglet_xls = onglet_xls
@temps_par_question = Restitution::Metriques::TempsPasseParQuestion
.new(@partie.evenements).calculer
Expand Down
35 changes: 35 additions & 0 deletions spec/models/restitution/positionnement/export_litteratie_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# frozen_string_literal: true

require 'rails_helper'

describe Restitution::Positionnement::ExportLitteratie do
subject(:service) do
described_class.new(partie, onglet_xls)
end

let(:questions) { [] }
let(:questionnaire) { create :questionnaire, questions: questions }
let(:situation) { create :situation, questionnaire: questionnaire }
let(:partie) { create :partie, situation: situation }
let(:export) { ImportExport::ExportXls.new }
let(:onglet_xls) do
entetes = ImportExport::Positionnement::ExportDonnees.new(partie).entetes
export.cree_worksheet_donnees(entetes)
end
let(:spreadsheet) { export.workbook }
let(:worksheet) { spreadsheet.worksheet(0) }

describe '#new' do
it 'crée des évènements questions à partir des évènements' do
create :evenement_reponse, partie: partie,
donnees: {
question: 'LOdi1'
}

evenements_questions = service.evenements_questions

expect(evenements_questions.size).to eq(1)
expect(evenements_questions.first.nom_technique).to eq('LOdi1')
end
end
end

0 comments on commit d69fd4c

Please sign in to comment.