diff --git a/app/services/procedure_export_service.rb b/app/services/procedure_export_service.rb index 152288723..f550ad81d 100644 --- a/app/services/procedure_export_service.rb +++ b/app/services/procedure_export_service.rb @@ -142,10 +142,10 @@ class ProcedureExportService headers = ATTRIBUTES.map do |key| label_for_export(key.to_s) end - headers += @procedure.types_de_champ.map do |champ| + headers += @procedure.types_de_champ.ordered.map do |champ| label_for_export(champ.libelle) end - headers += @procedure.types_de_champ_private.map do |champ| + headers += @procedure.types_de_champ_private.ordered.map do |champ| label_for_export(champ.libelle) end headers += ETABLISSEMENT_ATTRIBUTES.map do |key| diff --git a/spec/services/procedure_export_service_spec.rb b/spec/services/procedure_export_service_spec.rb index 168a387b6..67e50a4b7 100644 --- a/spec/services/procedure_export_service_spec.rb +++ b/spec/services/procedure_export_service_spec.rb @@ -9,6 +9,14 @@ describe ProcedureExportService do let(:headers) { subject[:headers] } let(:data) { subject[:data] } + before do + # change one tdc place to check if the header is ordered + tdc_first = procedure.types_de_champ.ordered.first + tdc_last = procedure.types_de_champ.ordered.last + + tdc_first.update(order_place: tdc_last.order_place + 1) + end + context 'dossiers' do it 'should have headers' do expect(headers).to eq([ @@ -27,7 +35,7 @@ describe ProcedureExportService do :individual_prenom, :individual_nom, :individual_birthdate, - :text, + :textarea, :date, :datetime, @@ -53,6 +61,8 @@ describe ProcedureExportService do :piece_justificative, :siret, :carte, + :text, + :etablissement_siret, :etablissement_siege_social, :etablissement_naf, @@ -113,7 +123,7 @@ describe ProcedureExportService do } let(:champs_data) { - dossier.champs.map(&:for_export) + dossier.champs.ordered.map(&:for_export) } let(:etablissement_data) {