2024-04-29 00:17:15 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-10-26 11:44:53 +02:00
|
|
|
describe 'Getting help:' do
|
2019-03-13 16:48:38 +01:00
|
|
|
scenario 'a Help button is visible on public pages' do
|
|
|
|
visit '/'
|
2022-08-18 17:06:58 +02:00
|
|
|
within('.fr-header') do
|
2019-03-13 16:48:38 +01:00
|
|
|
expect(page).to have_help_button
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-03-28 11:14:01 +01:00
|
|
|
context 'on pages related to a procedure' do
|
|
|
|
let(:procedure) { create(:procedure, :published, :with_service) }
|
|
|
|
|
|
|
|
scenario 'a Help menu provides administration contacts and a link to the FAQ' do
|
|
|
|
visit commencer_path(path: procedure.path)
|
|
|
|
|
2022-08-18 17:06:58 +02:00
|
|
|
within('.fr-header') do
|
2019-03-28 11:14:01 +01:00
|
|
|
expect(page).to have_help_menu
|
|
|
|
end
|
|
|
|
|
|
|
|
within('.help-dropdown') do
|
|
|
|
expect(page).to have_content(procedure.service.email)
|
|
|
|
expect(page).to have_content(procedure.service.telephone)
|
2023-01-09 16:58:19 +01:00
|
|
|
expect(page).to have_link(nil, href: I18n.t("links.common.faq.url"))
|
2019-03-28 11:14:01 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-03-13 16:48:38 +01:00
|
|
|
context 'as a signed-in user' do
|
|
|
|
let(:user) { create(:user) }
|
|
|
|
let(:procedure) { create(:procedure, :with_service) }
|
|
|
|
|
|
|
|
before do
|
|
|
|
login_as user, scope: :user
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'a Help button is visible on signed-in pages' do
|
|
|
|
visit dossiers_path
|
2022-08-18 17:06:58 +02:00
|
|
|
within('.fr-header') do
|
2019-03-13 16:48:38 +01:00
|
|
|
expect(page).to have_help_button
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'on a page related to a draft dossier' do
|
|
|
|
let(:dossier) { create(:dossier, user: user, procedure: procedure) }
|
|
|
|
|
|
|
|
scenario 'a Help menu provides administration contacts and a link to the FAQ' do
|
|
|
|
visit dossier_path(dossier)
|
|
|
|
|
2022-08-18 17:06:58 +02:00
|
|
|
within('.fr-header') do
|
2019-03-13 16:48:38 +01:00
|
|
|
expect(page).to have_help_menu
|
|
|
|
end
|
|
|
|
|
|
|
|
within('.help-dropdown') do
|
|
|
|
expect(page).to have_content(dossier.procedure.service.email)
|
|
|
|
expect(page).to have_content(dossier.procedure.service.telephone)
|
2023-01-09 16:58:19 +01:00
|
|
|
expect(page).to have_link(nil, href: I18n.t("links.common.faq.url"))
|
2019-03-13 16:48:38 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'on a page related to a submitted dossier' do
|
|
|
|
let(:dossier) { create(:dossier, :en_construction, user: user, procedure: procedure) }
|
|
|
|
|
|
|
|
scenario 'a Help menu provides links to the Messagerie and to the FAQ' do
|
|
|
|
visit dossier_path(dossier)
|
|
|
|
|
2022-08-18 17:06:58 +02:00
|
|
|
within('.fr-header') do
|
2019-03-13 16:48:38 +01:00
|
|
|
expect(page).to have_help_menu
|
|
|
|
end
|
|
|
|
|
|
|
|
within('.help-dropdown') do
|
|
|
|
expect(page).to have_link(nil, href: messagerie_dossier_path(dossier))
|
2023-01-09 16:58:19 +01:00
|
|
|
expect(page).to have_link(nil, href: I18n.t("links.common.faq.url"))
|
2019-03-13 16:48:38 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-08-06 11:02:54 +02:00
|
|
|
context 'as a instructeur' do
|
|
|
|
let(:instructeur) { create(:instructeur) }
|
2019-03-13 16:48:38 +01:00
|
|
|
|
|
|
|
before do
|
2019-08-07 11:15:16 +02:00
|
|
|
login_as instructeur.user, scope: :user
|
2019-03-13 16:48:38 +01:00
|
|
|
end
|
|
|
|
|
2019-03-19 14:48:26 +01:00
|
|
|
scenario 'a Help menu is visible on signed-in pages' do
|
2019-08-06 11:02:54 +02:00
|
|
|
visit instructeur_procedures_path
|
2022-08-18 17:06:58 +02:00
|
|
|
within('.fr-header') do
|
2019-03-19 14:48:26 +01:00
|
|
|
expect(page).to have_help_menu
|
2019-03-13 16:48:38 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def have_help_button
|
2023-01-09 16:58:19 +01:00
|
|
|
have_link('Aide', href: I18n.t("links.common.faq.url"))
|
2019-03-13 16:48:38 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
def have_help_menu
|
|
|
|
have_selector('.help-dropdown')
|
|
|
|
end
|
|
|
|
end
|