describe 'dropdown list with other option activated' do let(:password) { 'my-s3cure-p4ssword' } let!(:user) { create(:user, password: password) } let(:list_items) do <<~END_OF_LIST --Primary 1-- Secondary 1.1 Secondary 1.2 END_OF_LIST end let(:type_de_champ) { build(:type_de_champ_drop_down_list, libelle: 'simple dropdown other', drop_down_list_value: list_items, drop_down_other: true) } let(:procedure) do create(:procedure, :published, :for_individual, types_de_champ: [type_de_champ]) end let(:user_dossier) { user.dossiers.first } before do login_as(user, scope: :user) visit "/commencer/#{procedure.path}" click_on 'Commencer la démarche' end scenario 'Select other option and the other input hidden must appear', js: true do fill_individual find('.radios').find('label:last-child').find('input').select_option expect(page).to have_selector('.drop_down_other', visible: true) end private def fill_individual choose 'Monsieur' fill_in('individual_prenom', with: 'prenom') fill_in('individual_nom', with: 'nom') click_on 'Continuer' expect(page).to have_current_path(brouillon_dossier_path(user_dossier)) end end