diff --git a/app/models/restitution/export_positionnement.rb b/app/models/restitution/export_positionnement.rb index 546a02760..baf5e06de 100644 --- a/app/models/restitution/export_positionnement.rb +++ b/app/models/restitution/export_positionnement.rb @@ -40,10 +40,7 @@ def nom_du_fichier end def regroupe_par_code_clea(evenements) - evenements.group_by do |evenement| - code = evenement.code_clea - [code.nil? ? 1 : 0, code] - end + evenements.group_by(&:code_clea) end private @@ -64,8 +61,8 @@ def remplie_la_feuille(sheet) end def remplis_reponses_par_code(sheet, ligne, code, evenements) - if code[1].present? - sheet[ligne, 0] = "#{code[1]} - score: #{pourcentage_reussite(evenements)}%" + if code.present? + sheet[ligne, 0] = "#{code} - score: #{pourcentage_reussite(evenements)}%" sheet.merge_cells(ligne, 0, ligne, 6) end ligne += 1 diff --git a/spec/models/restitution/export_positionnement_spec.rb b/spec/models/restitution/export_positionnement_spec.rb index e5e3e0d7a..634efd5f5 100644 --- a/spec/models/restitution/export_positionnement_spec.rb +++ b/spec/models/restitution/export_positionnement_spec.rb @@ -107,16 +107,16 @@ describe '#regroupe_par_code_clea' do it 'trie les evenements par code clea' do + evenement3 = create :evenement_reponse, partie: partie, donnees: { metacompetence: 'LOdi3' } evenement1 = create :evenement_reponse, partie: partie, donnees: { metacompetence: 'perimetres' } evenement2 = create :evenement_reponse, partie: partie, donnees: { metacompetence: 'estimation' } - evenement3 = create :evenement_reponse, partie: partie, donnees: { metacompetence: 'LOdi3' } results = { - [0, '2.1.4'] => [evenement2], - [0, '2.3.7'] => [evenement1], - [1, nil] => [evenement3] + '2.1.4' => [evenement2], + '2.3.7' => [evenement1], + nil => [evenement3] } expect(response_service.regroupe_par_code_clea(Evenement.all)).to eq(results)