44 lines
1.8 KiB
Ruby
44 lines
1.8 KiB
Ruby
# frozen_string_literal: true
|
||
|
||
describe 'As an administrateur I can edit annotation', js: true do
|
||
include ActionView::RecordIdentifier
|
||
let(:administrateur) { procedure.administrateurs.first }
|
||
let(:procedure) { create(:procedure) }
|
||
|
||
before do
|
||
login_as administrateur.user, scope: :user
|
||
visit annotations_admin_procedure_path(procedure)
|
||
end
|
||
|
||
scenario 'with private tdc, having invalid order, it pops up errors summary' do
|
||
click_on 'Ajouter une annotation'
|
||
|
||
select('Titre de section', from: 'Type de champ')
|
||
wait_until { procedure.reload.active_revision.types_de_champ_private.first&.type_champ == TypeDeChamp.type_champs.fetch(:header_section) }
|
||
first_header = procedure.active_revision.types_de_champ_private.first
|
||
select('Titre de niveau 1', from: dom_id(first_header, :header_section_level))
|
||
|
||
within(find('.type-de-champ-add-button', match: :first)) {
|
||
click_on 'Ajouter une annotation'
|
||
}
|
||
|
||
wait_until { procedure.reload.active_revision.types_de_champ_private.count == 2 }
|
||
second_header = procedure.active_revision.types_de_champ_private.last
|
||
select('Titre de section', from: dom_id(second_header, :type_champ))
|
||
wait_until { procedure.reload.active_revision.types_de_champ_private.last&.type_champ == TypeDeChamp.type_champs.fetch(:header_section) }
|
||
select('Titre de niveau 2', from: dom_id(second_header, :header_section_level))
|
||
|
||
within(".types-de-champ-block li:first-child") do
|
||
page.accept_alert do
|
||
click_on 'Supprimer'
|
||
end
|
||
end
|
||
|
||
expect(page).to have_content("devrait être précédé d'un titre de niveau 1")
|
||
|
||
# check summary
|
||
procedure.reload.active_revision.types_de_champ_private.each do |header_section|
|
||
expect(page).to have_link(header_section.libelle)
|
||
end
|
||
end
|
||
end
|