78 lines
2.5 KiB
Ruby
78 lines
2.5 KiB
Ruby
require 'spec_helper'
|
||
|
||
describe 'admin/procedures/show.html.haml', type: :view do
|
||
let(:archived_at) { nil }
|
||
let(:procedure) { create(:procedure, :with_service, archived_at: archived_at) }
|
||
|
||
before do
|
||
assign(:procedure, procedure)
|
||
end
|
||
|
||
describe 'procedure is draft' do
|
||
context 'when procedure does not have a gestionnare affected' do
|
||
before do
|
||
render
|
||
end
|
||
|
||
describe 'publish button is not visible' do
|
||
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') }
|
||
end
|
||
end
|
||
|
||
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
|
||
it { expect(rendered).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') }
|
||
end
|
||
|
||
describe 'procedure path is not customized' do
|
||
it { expect(rendered).to have_content('Cette démarche est actuellement en test') }
|
||
end
|
||
end
|
||
end
|
||
|
||
describe 'procedure is published' do
|
||
before do
|
||
procedure.publish!(procedure.administrateurs.first, 'fake_path', procedure.lien_site_web)
|
||
procedure.reload
|
||
render
|
||
end
|
||
|
||
describe 'archive button is visible', js: true do
|
||
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
|
||
|
||
describe 'procedure link is present' do
|
||
it { expect(rendered).to have_content(commencer_url(path: procedure.path)) }
|
||
end
|
||
end
|
||
|
||
describe 'procedure is archived' do
|
||
before do
|
||
procedure.publish!(procedure.administrateurs.first, 'fake_path', procedure.lien_site_web)
|
||
procedure.archive!
|
||
procedure.reload
|
||
render
|
||
end
|
||
|
||
describe 'Re-enable button is visible' do
|
||
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
|
||
it { expect(rendered).to have_content('Cette démarche est archivée et n’est donc plus accessible par le public.') }
|
||
end
|
||
end
|
||
end
|