45 lines
1.5 KiB
Ruby
45 lines
1.5 KiB
Ruby
require "rails_helper"
|
|
|
|
describe Comments::FormComponent do
|
|
context "Legislation annotation" do
|
|
it "disables comments when the allegations phase is closed" do
|
|
process = create(:legislation_process,
|
|
allegations_start_date: 1.month.ago,
|
|
allegations_end_date: Date.yesterday)
|
|
|
|
version = create(:legislation_draft_version, process: process)
|
|
annotation = create(:legislation_annotation, draft_version: version, text: "One annotation")
|
|
|
|
render_inline Comments::FormComponent.new(annotation)
|
|
|
|
expect(page).to have_content "Comments are closed"
|
|
expect(page).not_to have_content "Leave your comment"
|
|
expect(page).not_to have_button "Publish comment"
|
|
end
|
|
end
|
|
|
|
context "Legislation question" do
|
|
let(:process) { create(:legislation_process, :in_debate_phase) }
|
|
let(:question) { create(:legislation_question, process: process) }
|
|
|
|
it "prevents unverified users from creating comments" do
|
|
unverified_user = create(:user)
|
|
sign_in unverified_user
|
|
|
|
render_inline Comments::FormComponent.new(question)
|
|
|
|
expect(page).to have_content "To participate verify your account"
|
|
end
|
|
|
|
it "blocks comment creation when the debate phase is not open" do
|
|
user = create(:user, :level_two)
|
|
process.update!(debate_start_date: Date.current - 2.days, debate_end_date: Date.current - 1.day)
|
|
sign_in(user)
|
|
|
|
render_inline Comments::FormComponent.new(question)
|
|
|
|
expect(page).to have_content "Closed phase"
|
|
end
|
|
end
|
|
end
|