Merge pull request #3665 from betagouv/fix_repetition_in_annotations
Annotation: can use repetable
This commit is contained in:
commit
0cb3cf619a
2 changed files with 20 additions and 2 deletions
|
@ -164,7 +164,8 @@ module NewGestionnaire
|
||||||
|
|
||||||
def champs_private_params
|
def champs_private_params
|
||||||
params.require(:dossier).permit(champs_private_attributes: [
|
params.require(:dossier).permit(champs_private_attributes: [
|
||||||
:id, :primary_value, :secondary_value, :piece_justificative_file, :value, value: []
|
:id, :primary_value, :secondary_value, :piece_justificative_file, :value, value: [],
|
||||||
|
champs_attributes: [:id, :_destroy, :value, :primary_value, :secondary_value, :piece_justificative_file, value: []]
|
||||||
])
|
])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -363,8 +363,16 @@ describe NewGestionnaire::DossiersController, type: :controller do
|
||||||
create(:type_de_champ_datetime, :private, libelle: 'libelle').champ.create
|
create(:type_de_champ_datetime, :private, libelle: 'libelle').champ.create
|
||||||
end
|
end
|
||||||
|
|
||||||
|
let(:champ_repetition) do
|
||||||
|
tdc = create(:type_de_champ_repetition, :private, libelle: 'libelle')
|
||||||
|
tdc.types_de_champ << create(:type_de_champ_text, libelle: 'libelle')
|
||||||
|
champ = tdc.champ.create
|
||||||
|
champ.add_row
|
||||||
|
champ
|
||||||
|
end
|
||||||
|
|
||||||
let(:dossier) do
|
let(:dossier) do
|
||||||
create(:dossier, :en_construction, procedure: procedure, champs_private: [champ_multiple_drop_down_list, champ_linked_drop_down_list, champ_datetime])
|
create(:dossier, :en_construction, procedure: procedure, champs_private: [champ_multiple_drop_down_list, champ_linked_drop_down_list, champ_datetime, champ_repetition])
|
||||||
end
|
end
|
||||||
|
|
||||||
before do
|
before do
|
||||||
|
@ -389,6 +397,13 @@ describe NewGestionnaire::DossiersController, type: :controller do
|
||||||
id: champ_linked_drop_down_list.id,
|
id: champ_linked_drop_down_list.id,
|
||||||
primary_value: 'primary',
|
primary_value: 'primary',
|
||||||
secondary_value: 'secondary'
|
secondary_value: 'secondary'
|
||||||
|
},
|
||||||
|
'3': {
|
||||||
|
id: champ_repetition.id,
|
||||||
|
champs_attributes: {
|
||||||
|
id: champ_repetition.champs.first.id,
|
||||||
|
value: 'text'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -397,12 +412,14 @@ describe NewGestionnaire::DossiersController, type: :controller do
|
||||||
champ_multiple_drop_down_list.reload
|
champ_multiple_drop_down_list.reload
|
||||||
champ_linked_drop_down_list.reload
|
champ_linked_drop_down_list.reload
|
||||||
champ_datetime.reload
|
champ_datetime.reload
|
||||||
|
champ_repetition.reload
|
||||||
end
|
end
|
||||||
|
|
||||||
it { expect(champ_multiple_drop_down_list.value).to eq('["un", "deux"]') }
|
it { expect(champ_multiple_drop_down_list.value).to eq('["un", "deux"]') }
|
||||||
it { expect(champ_linked_drop_down_list.primary_value).to eq('primary') }
|
it { expect(champ_linked_drop_down_list.primary_value).to eq('primary') }
|
||||||
it { expect(champ_linked_drop_down_list.secondary_value).to eq('secondary') }
|
it { expect(champ_linked_drop_down_list.secondary_value).to eq('secondary') }
|
||||||
it { expect(champ_datetime.value).to eq('21/12/2019 13:17') }
|
it { expect(champ_datetime.value).to eq('21/12/2019 13:17') }
|
||||||
|
it { expect(champ_repetition.champs.first.value).to eq('text') }
|
||||||
it { expect(response).to redirect_to(annotations_privees_gestionnaire_dossier_path(dossier.procedure, dossier)) }
|
it { expect(response).to redirect_to(annotations_privees_gestionnaire_dossier_path(dossier.procedure, dossier)) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue