Merge pull request #3728 from consul/use_let
Use `let` to remove duplication in specs
This commit is contained in:
@@ -81,10 +81,10 @@ describe "Valuator groups" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context "Assign valuators to groups" do
|
context "Assign valuators to groups" do
|
||||||
|
let(:valuator) { create(:valuator) }
|
||||||
|
|
||||||
scenario "Add a valuator to a group" do
|
scenario "Add a valuator to a group" do
|
||||||
valuator = create(:valuator)
|
create(:valuator_group, name: "Health")
|
||||||
group = create(:valuator_group, name: "Health")
|
|
||||||
|
|
||||||
visit edit_admin_valuator_path(valuator)
|
visit edit_admin_valuator_path(valuator)
|
||||||
|
|
||||||
@@ -96,10 +96,8 @@ describe "Valuator groups" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "Update a valuator's group" do
|
scenario "Update a valuator's group" do
|
||||||
valuator = create(:valuator)
|
valuator.update(valuator_group: create(:valuator_group, name: "Economy"))
|
||||||
group1 = create(:valuator_group, name: "Health")
|
create(:valuator_group, name: "Health")
|
||||||
group2 = create(:valuator_group, name: "Economy")
|
|
||||||
valuator.update(valuator_group: group1)
|
|
||||||
|
|
||||||
visit edit_admin_valuator_path(valuator)
|
visit edit_admin_valuator_path(valuator)
|
||||||
select "Economy", from: "valuator_valuator_group_id"
|
select "Economy", from: "valuator_valuator_group_id"
|
||||||
@@ -110,9 +108,7 @@ describe "Valuator groups" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "Remove a valuator from a group" do
|
scenario "Remove a valuator from a group" do
|
||||||
valuator = create(:valuator)
|
valuator.update(valuator_group: create(:valuator_group, name: "Health"))
|
||||||
group1 = create(:valuator_group, name: "Health")
|
|
||||||
valuator.update(valuator_group: group1)
|
|
||||||
|
|
||||||
visit edit_admin_valuator_path(valuator)
|
visit edit_admin_valuator_path(valuator)
|
||||||
select "", from: "valuator_valuator_group_id"
|
select "", from: "valuator_valuator_group_id"
|
||||||
|
|||||||
@@ -142,12 +142,12 @@ describe "Legislation Draft Versions" do
|
|||||||
|
|
||||||
context "Annotations", :js do
|
context "Annotations", :js do
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
|
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||||
|
|
||||||
before { login_as user }
|
before { login_as user }
|
||||||
|
|
||||||
scenario "Visit as anonymous" do
|
scenario "Visit as anonymous" do
|
||||||
logout
|
logout
|
||||||
draft_version = create(:legislation_draft_version, :published)
|
|
||||||
|
|
||||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||||
|
|
||||||
@@ -158,8 +158,6 @@ describe "Legislation Draft Versions" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "Create" do
|
scenario "Create" do
|
||||||
draft_version = create(:legislation_draft_version, :published)
|
|
||||||
|
|
||||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||||
|
|
||||||
page.find(:css, ".legislation-annotatable").double_click
|
page.find(:css, ".legislation-annotatable").double_click
|
||||||
@@ -182,7 +180,6 @@ describe "Legislation Draft Versions" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "View annotations and comments" do
|
scenario "View annotations and comments" do
|
||||||
draft_version = create(:legislation_draft_version, :published)
|
|
||||||
annotation1 = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
annotation1 = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||||
ranges: [{ "start" => "/p[1]", "startOffset" => 5, "end" => "/p[1]", "endOffset" => 10 }])
|
ranges: [{ "start" => "/p[1]", "startOffset" => 5, "end" => "/p[1]", "endOffset" => 10 }])
|
||||||
create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
||||||
@@ -201,9 +198,8 @@ describe "Legislation Draft Versions" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "Publish new comment for an annotation from comments box" do
|
scenario "Publish new comment for an annotation from comments box" do
|
||||||
draft_version = create(:legislation_draft_version, :published)
|
create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||||
annotation = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
||||||
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
|
||||||
|
|
||||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||||
|
|
||||||
@@ -219,17 +215,16 @@ describe "Legislation Draft Versions" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context "Merged annotations", :js do
|
context "Merged annotations", :js do
|
||||||
|
|
||||||
let(:user) { create(:user) }
|
let(:user) { create(:user) }
|
||||||
|
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||||
|
|
||||||
before { login_as user }
|
before { login_as user }
|
||||||
|
|
||||||
scenario "View annotations and comments in an included range" do
|
scenario "View annotations and comments in an included range" do
|
||||||
draft_version = create(:legislation_draft_version, :published)
|
create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||||
annotation1 = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 5 }])
|
||||||
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 5 }])
|
create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
||||||
annotation2 = create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 10 }])
|
||||||
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 10 }])
|
|
||||||
|
|
||||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||||
|
|
||||||
@@ -246,16 +241,17 @@ describe "Legislation Draft Versions" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context "Annotations page" do
|
context "Annotations page" do
|
||||||
|
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
@draft_version = create(:legislation_draft_version, :published)
|
create(:legislation_annotation, draft_version: draft_version, text: "my annotation", quote: "ipsum",
|
||||||
create(:legislation_annotation, draft_version: @draft_version, text: "my annotation", quote: "ipsum",
|
|
||||||
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
||||||
create(:legislation_annotation, draft_version: @draft_version, text: "my other annotation", quote: "audiam",
|
create(:legislation_annotation, draft_version: draft_version, text: "my other annotation", quote: "audiam",
|
||||||
ranges: [{ "start" => "/p[3]", "startOffset" => 6, "end" => "/p[3]", "endOffset" => 11 }])
|
ranges: [{ "start" => "/p[3]", "startOffset" => 6, "end" => "/p[3]", "endOffset" => 11 }])
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "See all annotations for a draft version" do
|
scenario "See all annotations for a draft version" do
|
||||||
visit legislation_process_draft_version_annotations_path(@draft_version.process, @draft_version)
|
visit legislation_process_draft_version_annotations_path(draft_version.process, draft_version)
|
||||||
|
|
||||||
expect(page).to have_content "ipsum"
|
expect(page).to have_content "ipsum"
|
||||||
expect(page).to have_content "audiam"
|
expect(page).to have_content "audiam"
|
||||||
@@ -298,16 +294,17 @@ describe "Legislation Draft Versions" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
context "Annotation comments page" do
|
context "Annotation comments page" do
|
||||||
|
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
@draft_version = create(:legislation_draft_version, :published)
|
create(:legislation_annotation, draft_version: draft_version, text: "my annotation", quote: "ipsum",
|
||||||
create(:legislation_annotation, draft_version: @draft_version, text: "my annotation", quote: "ipsum",
|
|
||||||
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
||||||
@annotation = create(:legislation_annotation, draft_version: @draft_version, text: "my other annotation", quote: "audiam",
|
@annotation = create(:legislation_annotation, draft_version: draft_version, text: "my other annotation", quote: "audiam",
|
||||||
ranges: [{ "start" => "/p[3]", "startOffset" => 6, "end" => "/p[3]", "endOffset" => 11 }])
|
ranges: [{ "start" => "/p[3]", "startOffset" => 6, "end" => "/p[3]", "endOffset" => 11 }])
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "See one annotation with replies for a draft version" do
|
scenario "See one annotation with replies for a draft version" do
|
||||||
visit legislation_process_draft_version_annotation_path(@draft_version.process, @draft_version, @annotation)
|
visit legislation_process_draft_version_annotation_path(draft_version.process, draft_version, @annotation)
|
||||||
|
|
||||||
expect(page).not_to have_content "ipsum"
|
expect(page).not_to have_content "ipsum"
|
||||||
expect(page).not_to have_content "my annotation"
|
expect(page).not_to have_content "my annotation"
|
||||||
|
|||||||
@@ -33,27 +33,23 @@ describe EmailDigest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "pending_notifications?" do
|
describe "pending_notifications?" do
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
it "returns true when notifications have not been emailed" do
|
it "returns true when notifications have not been emailed" do
|
||||||
user = create(:user)
|
create(:notification, :for_proposal_notification, user: user)
|
||||||
|
|
||||||
notification = create(:notification, :for_proposal_notification, user: user)
|
|
||||||
|
|
||||||
email_digest = EmailDigest.new(user)
|
email_digest = EmailDigest.new(user)
|
||||||
expect(email_digest.pending_notifications?).to be
|
expect(email_digest.pending_notifications?).to be
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns false when notifications have been emailed" do
|
it "returns false when notifications have been emailed" do
|
||||||
user = create(:user)
|
create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
||||||
|
|
||||||
notification = create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
|
||||||
|
|
||||||
email_digest = EmailDigest.new(user)
|
email_digest = EmailDigest.new(user)
|
||||||
expect(email_digest.pending_notifications?).not_to be
|
expect(email_digest.pending_notifications?).not_to be
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns false when there are no notifications for a user" do
|
it "returns false when there are no notifications for a user" do
|
||||||
user = create(:user)
|
|
||||||
email_digest = EmailDigest.new(user)
|
email_digest = EmailDigest.new(user)
|
||||||
expect(email_digest.pending_notifications?).not_to be
|
expect(email_digest.pending_notifications?).not_to be
|
||||||
end
|
end
|
||||||
@@ -61,11 +57,10 @@ describe EmailDigest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "deliver" do
|
describe "deliver" do
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
|
||||||
it "delivers email if notifications pending" do
|
it "delivers email if notifications pending" do
|
||||||
user = create(:user)
|
create(:notification, :for_proposal_notification, user: user)
|
||||||
|
|
||||||
notification = create(:notification, :for_proposal_notification, user: user)
|
|
||||||
|
|
||||||
reset_mailer
|
reset_mailer
|
||||||
email_digest = EmailDigest.new(user)
|
email_digest = EmailDigest.new(user)
|
||||||
@@ -76,8 +71,6 @@ describe EmailDigest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "does not deliver email if no notifications pending" do
|
it "does not deliver email if no notifications pending" do
|
||||||
user = create(:user)
|
|
||||||
|
|
||||||
create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
||||||
|
|
||||||
reset_mailer
|
reset_mailer
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
require "rails_helper"
|
require "rails_helper"
|
||||||
|
|
||||||
describe Poll::Voter do
|
describe Poll::Voter do
|
||||||
|
|
||||||
let(:poll) { create(:poll) }
|
|
||||||
let(:booth) { create(:poll_booth) }
|
|
||||||
let(:booth_assignment) { create(:poll_booth_assignment, poll: poll, booth: booth) }
|
|
||||||
let(:voter) { create(:poll_voter) }
|
|
||||||
let(:officer_assignment) { create(:poll_officer_assignment) }
|
|
||||||
|
|
||||||
describe "validations" do
|
describe "validations" do
|
||||||
|
let(:poll) { create(:poll) }
|
||||||
|
let(:booth) { create(:poll_booth) }
|
||||||
|
let(:booth_assignment) { create(:poll_booth_assignment, poll: poll, booth: booth) }
|
||||||
|
let(:voter) { create(:poll_voter) }
|
||||||
|
let(:user) { create(:user, :level_two) }
|
||||||
|
|
||||||
it "is valid" do
|
it "is valid" do
|
||||||
expect(voter).to be_valid
|
expect(voter).to be_valid
|
||||||
@@ -31,8 +29,6 @@ describe Poll::Voter do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "is not valid if the user has already voted in the same poll or booth_assignment" do
|
it "is not valid if the user has already voted in the same poll or booth_assignment" do
|
||||||
user = create(:user, :level_two)
|
|
||||||
|
|
||||||
voter1 = create(:poll_voter, user: user, poll: poll)
|
voter1 = create(:poll_voter, user: user, poll: poll)
|
||||||
voter2 = build(:poll_voter, user: user, poll: poll)
|
voter2 = build(:poll_voter, user: user, poll: poll)
|
||||||
|
|
||||||
@@ -41,8 +37,6 @@ describe Poll::Voter do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "is not valid if the user has already voted in the same poll/booth" do
|
it "is not valid if the user has already voted in the same poll/booth" do
|
||||||
user = create(:user, :level_two)
|
|
||||||
|
|
||||||
voter1 = create(:poll_voter, user: user, poll: poll, booth_assignment: booth_assignment)
|
voter1 = create(:poll_voter, user: user, poll: poll, booth_assignment: booth_assignment)
|
||||||
voter2 = build(:poll_voter, user: user, poll: poll, booth_assignment: booth_assignment)
|
voter2 = build(:poll_voter, user: user, poll: poll, booth_assignment: booth_assignment)
|
||||||
|
|
||||||
@@ -51,8 +45,6 @@ describe Poll::Voter do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "is not valid if the user has already voted in different booth in the same poll" do
|
it "is not valid if the user has already voted in different booth in the same poll" do
|
||||||
user = create(:user, :level_two)
|
|
||||||
|
|
||||||
create(:poll_voter, :from_booth, user: user, poll: poll, booth: create(:poll_booth))
|
create(:poll_voter, :from_booth, user: user, poll: poll, booth: create(:poll_booth))
|
||||||
|
|
||||||
voter = build(:poll_voter, :from_booth, user: user, poll: poll, booth: booth)
|
voter = build(:poll_voter, :from_booth, user: user, poll: poll, booth: booth)
|
||||||
@@ -62,8 +54,6 @@ describe Poll::Voter do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it "is valid if the user has already voted in the same booth in different poll" do
|
it "is valid if the user has already voted in the same booth in different poll" do
|
||||||
user = create(:user, :level_two)
|
|
||||||
|
|
||||||
create(:poll_voter, :from_booth, user: user, booth: booth, poll: create(:poll))
|
create(:poll_voter, :from_booth, user: user, booth: booth, poll: create(:poll))
|
||||||
|
|
||||||
voter = build(:poll_voter, :from_booth, user: user, booth: booth, poll: poll)
|
voter = build(:poll_voter, :from_booth, user: user, booth: booth, poll: poll)
|
||||||
@@ -94,7 +84,7 @@ describe Poll::Voter do
|
|||||||
|
|
||||||
it "is valid with a booth origin" do
|
it "is valid with a booth origin" do
|
||||||
voter.origin = "booth"
|
voter.origin = "booth"
|
||||||
voter.officer_assignment = officer_assignment
|
voter.officer_assignment = create(:poll_officer_assignment)
|
||||||
expect(voter).to be_valid
|
expect(voter).to be_valid
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user