This rule was added in rubocop-rspec 2.9.0. We were using `be_nil` 50% of the time, and `be nil` the rest of the time. No strong preference for either one, but IMHO we don't lose anything be being consistent.
78 lines
2.2 KiB
Ruby
78 lines
2.2 KiB
Ruby
require "rails_helper"
|
|
|
|
describe Legislation::Question do
|
|
let(:question) { create(:legislation_question) }
|
|
|
|
it_behaves_like "acts as paranoid", :legislation_question
|
|
|
|
describe "Concerns" do
|
|
it_behaves_like "notifiable"
|
|
it_behaves_like "globalizable", :legislation_question
|
|
end
|
|
|
|
it "is valid" do
|
|
expect(question).to be_valid
|
|
end
|
|
|
|
context "can be deleted" do
|
|
example "when it has no options or answers" do
|
|
question = create(:legislation_question)
|
|
|
|
expect do
|
|
question.destroy
|
|
end.to change { Legislation::Question.count }.by(-1)
|
|
end
|
|
|
|
example "when it has options but no answers" do
|
|
create(:legislation_question_option, question: question, value: "Yes")
|
|
create(:legislation_question_option, question: question, value: "No")
|
|
|
|
expect do
|
|
question.destroy
|
|
end.to change { Legislation::Question.count }.by(-1)
|
|
end
|
|
|
|
example "when it has options and answers" do
|
|
option_1 = create(:legislation_question_option, question: question, value: "Yes")
|
|
option_2 = create(:legislation_question_option, question: question, value: "No")
|
|
create(:legislation_answer, question: question, question_option: option_1)
|
|
create(:legislation_answer, question: question, question_option: option_2)
|
|
|
|
expect do
|
|
question.destroy
|
|
end.to change { Legislation::Question.count }.by(-1)
|
|
end
|
|
end
|
|
|
|
describe "#next_question_id" do
|
|
let!(:question1) { create(:legislation_question) }
|
|
let!(:question2) do
|
|
create(:legislation_question, legislation_process_id: question1.legislation_process_id)
|
|
end
|
|
|
|
it "returns the next question" do
|
|
expect(question1.next_question_id).to eq(question2.id)
|
|
end
|
|
|
|
it "returns nil" do
|
|
expect(question2.next_question_id).to be nil
|
|
end
|
|
end
|
|
|
|
describe "#first_question_id" do
|
|
let!(:question1) { create(:legislation_question) }
|
|
let!(:question2) do
|
|
create(:legislation_question, legislation_process_id: question1.legislation_process_id)
|
|
end
|
|
|
|
it "returns the first question" do
|
|
expect(question1.first_question_id).to eq(question1.id)
|
|
expect(question2.first_question_id).to eq(question1.id)
|
|
end
|
|
end
|
|
|
|
describe "notifications" do
|
|
it_behaves_like "notifiable"
|
|
end
|
|
end
|