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

65 lines
1.9 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe 'admin/procedures/show.html.haml', type: :view do
let(:archived) { false }
let(:procedure) { create(:procedure, archived: archived) }
before do
assign(:facade, AdminProceduresShowFacades.new(procedure.decorate))
assign(:procedure, procedure)
end
2016-06-30 10:24:01 +02:00
describe 'procedure is draft' do
before do
render
end
describe 'publish button is visible' do
it { expect(rendered).to have_css('a#publish') }
it { expect(rendered).not_to have_css('button#archive') }
it { expect(rendered).not_to have_css('a#reenable') }
end
describe 'procedure link is not present' do
it { expect(rendered).to have_content('Cette procédure n\'a pas encore été publiée et n\'est donc pas accessible par le public.') }
end
end
2016-06-30 10:24:01 +02:00
describe 'procedure is published' do
before do
procedure.publish('fake_path')
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
it { expect(rendered).not_to have_css('a#publish') }
it { expect(rendered).to have_css('button#archive') }
it { expect(rendered).not_to have_css('a#reenable') }
end
2016-06-30 10:24:01 +02:00
describe 'procedure link is present' do
it { expect(rendered).to have_content(commencer_url(procedure_path: procedure.path)) }
end
end
2016-06-30 10:24:01 +02:00
describe 'procedure is archived' do
before do
procedure.publish('fake_path')
procedure.archive
procedure.reload
render
end
2016-06-30 10:24:01 +02:00
describe 'Re-enable button is visible' do
it { expect(rendered).not_to have_css('a#publish') }
it { expect(rendered).not_to have_css('button#archive') }
it { expect(rendered).to have_css('a#reenable') }
end
2016-06-30 10:24:01 +02:00
describe 'procedure link is not present' do
it { expect(rendered).to have_content('Cette procédure a été archivée et n\'est plus accessible par le public.') }
end
end
2016-06-30 10:24:01 +02:00
end