59 lines
1.7 KiB
Ruby
59 lines
1.7 KiB
Ruby
require "rails_helper"
|
|
|
|
describe "Commenting legislation questions" do
|
|
let(:user) { create(:user, :level_two) }
|
|
let(:process) { create(:legislation_process, :in_debate_phase) }
|
|
let(:question) { create(:legislation_question, process: process) }
|
|
|
|
context "Concerns" do
|
|
it_behaves_like "notifiable in-app", :legislation_question
|
|
it_behaves_like "flaggable", :legislation_question_comment
|
|
end
|
|
|
|
scenario "Submit button is disabled after clicking" do
|
|
login_as(user)
|
|
visit legislation_process_question_path(question.process, question)
|
|
|
|
fill_in "Leave your answer", with: "Testing submit button!"
|
|
click_button "Publish answer"
|
|
|
|
expect(page).to have_button "Publish answer", disabled: true
|
|
expect(page).to have_content "Testing submit button!"
|
|
expect(page).to have_button "Publish answer", disabled: false
|
|
end
|
|
|
|
describe "Voting comments" do
|
|
let(:verified) { create(:user, verified_at: Time.current) }
|
|
let(:unverified) { create(:user) }
|
|
let(:question) { create(:legislation_question) }
|
|
let!(:comment) { create(:comment, commentable: question) }
|
|
|
|
before do
|
|
login_as(verified)
|
|
end
|
|
|
|
scenario "Allow undoing votes" do
|
|
visit legislation_process_question_path(question.process, question)
|
|
|
|
within("#comment_#{comment.id}_votes") do
|
|
click_button "I agree"
|
|
within(".in-favor") do
|
|
expect(page).to have_content "1"
|
|
end
|
|
|
|
click_button "I agree"
|
|
within(".in-favor") do
|
|
expect(page).not_to have_content "2"
|
|
expect(page).to have_content "0"
|
|
end
|
|
|
|
within(".against") do
|
|
expect(page).to have_content "0"
|
|
end
|
|
|
|
expect(page).to have_content "No votes"
|
|
end
|
|
end
|
|
end
|
|
end
|