diff --git a/spec/controllers/champs/repetition_controller_spec.rb b/spec/controllers/champs/repetition_controller_spec.rb new file mode 100644 index 000000000..8f30bd351 --- /dev/null +++ b/spec/controllers/champs/repetition_controller_spec.rb @@ -0,0 +1,13 @@ +describe Champs::RepetitionController, type: :controller do + describe '#remove' do + let(:procedure) { create(:procedure, types_de_champ_public: [{ type: :repetition, children: [{ libelle: 'Nom' }, { type: :integer_number, libelle: 'Age' }] }]) } + let(:dossier) { create(:dossier, procedure: procedure) } + + before { sign_in dossier.user } + it 'removes repetition' do + rows, repetitions = dossier.champs.partition { _1.parent_id.present? } + expect { delete :remove, params: { champ_id: repetitions.first.id, row_id: rows.first.row_id }, format: :turbo_stream } + .to change { dossier.reload.champs.size }.from(3).to(1) + end + end +end