demarches-normaliennes/spec/views/admin/procedures/show.html.haml_spec.rb

79 lines
2.5 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe 'admin/procedures/show.html.haml', type: :view do
let(:archived_at) { nil }
2018-08-14 15:17:22 +02:00
let(:procedure) { create(:procedure, :with_service, archived_at: archived_at) }
before do
assign(:procedure, procedure)
end
2016-06-30 10:24:01 +02:00
describe 'procedure is draft' do
2016-10-12 14:44:08 +02:00
context 'when procedure does not have a gestionnare affected' do
before do
render
end
2016-06-30 10:24:01 +02:00
2016-10-12 14:44:08 +02:00
describe 'publish button is not visible' do
2018-08-14 15:17:22 +02:00
it { expect(rendered).not_to have_css('a#publish-procedure') }
it { expect(rendered).not_to have_css('button#archive-procedure') }
it { expect(rendered).not_to have_css('a#reopen-procedure') }
2016-10-12 14:44:08 +02:00
end
2016-06-30 10:24:01 +02:00
end
2016-10-12 14:44:08 +02:00
context 'when procedure have a gestionnare affected' do
before do
create :assign_to, gestionnaire: create(:gestionnaire), procedure: procedure
render
end
describe 'publish button is visible' do
2016-12-14 18:53:40 +01:00
it { expect(rendered).to have_css('a#publish-procedure') }
2018-08-14 15:17:22 +02:00
it { expect(rendered).not_to have_css('button#archive-procedure') }
it { expect(rendered).not_to have_css('a#reopen-procedure') }
2016-10-12 14:44:08 +02:00
end
2019-03-06 14:42:27 +01:00
describe 'procedure path is not customized' do
it { expect(rendered).to have_content('Cette démarche est actuellement en test') }
2016-10-12 14:44:08 +02:00
end
2016-06-30 10:24:01 +02:00
end
end
2016-06-30 10:24:01 +02:00
describe 'procedure is published' do
before do
2019-07-23 12:09:48 +02:00
procedure.publish!(procedure.administrateurs.first, 'fake_path', procedure.lien_site_web)
2016-06-30 10:24:01 +02:00
procedure.reload
render
end
2016-06-30 10:24:01 +02:00
describe 'archive button is visible', js: true do
2018-08-14 15:17:22 +02:00
it { expect(rendered).not_to have_css('a#publish-procedure') }
it { expect(rendered).to have_css('button#archive-procedure') }
it { expect(rendered).not_to have_css('a#reopen-procedure') }
end
2016-06-30 10:24:01 +02:00
describe 'procedure link is present' do
2018-10-30 12:00:58 +01:00
it { expect(rendered).to have_content(commencer_url(path: procedure.path)) }
end
end
2016-06-30 10:24:01 +02:00
describe 'procedure is archived' do
before do
2019-07-23 12:09:48 +02:00
procedure.publish!(procedure.administrateurs.first, 'fake_path', procedure.lien_site_web)
2018-05-17 15:43:33 +02:00
procedure.archive!
2016-06-30 10:24:01 +02:00
procedure.reload
render
end
2016-06-30 10:24:01 +02:00
describe 'Re-enable button is visible' do
2018-08-14 15:17:22 +02:00
it { expect(rendered).not_to have_css('a#publish-procedure') }
it { expect(rendered).not_to have_css('button#archive-procedure') }
it { expect(rendered).to have_css('a#reopen-procedure') }
end
describe 'procedure link is present' do
2019-01-16 17:23:33 +01:00
it { expect(rendered).to have_content('Cette démarche est archivée et nest donc plus accessible par le public.') }
end
end
2017-04-04 15:27:04 +02:00
end