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
|
||||
|
||||
context "Assign valuators to groups" do
|
||||
let(:valuator) { create(:valuator) }
|
||||
|
||||
scenario "Add a valuator to a group" do
|
||||
valuator = create(:valuator)
|
||||
group = create(:valuator_group, name: "Health")
|
||||
create(:valuator_group, name: "Health")
|
||||
|
||||
visit edit_admin_valuator_path(valuator)
|
||||
|
||||
@@ -96,10 +96,8 @@ describe "Valuator groups" do
|
||||
end
|
||||
|
||||
scenario "Update a valuator's group" do
|
||||
valuator = create(:valuator)
|
||||
group1 = create(:valuator_group, name: "Health")
|
||||
group2 = create(:valuator_group, name: "Economy")
|
||||
valuator.update(valuator_group: group1)
|
||||
valuator.update(valuator_group: create(:valuator_group, name: "Economy"))
|
||||
create(:valuator_group, name: "Health")
|
||||
|
||||
visit edit_admin_valuator_path(valuator)
|
||||
select "Economy", from: "valuator_valuator_group_id"
|
||||
@@ -110,9 +108,7 @@ describe "Valuator groups" do
|
||||
end
|
||||
|
||||
scenario "Remove a valuator from a group" do
|
||||
valuator = create(:valuator)
|
||||
group1 = create(:valuator_group, name: "Health")
|
||||
valuator.update(valuator_group: group1)
|
||||
valuator.update(valuator_group: create(:valuator_group, name: "Health"))
|
||||
|
||||
visit edit_admin_valuator_path(valuator)
|
||||
select "", from: "valuator_valuator_group_id"
|
||||
|
||||
@@ -142,12 +142,12 @@ describe "Legislation Draft Versions" do
|
||||
|
||||
context "Annotations", :js do
|
||||
let(:user) { create(:user) }
|
||||
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||
|
||||
before { login_as user }
|
||||
|
||||
scenario "Visit as anonymous" do
|
||||
logout
|
||||
draft_version = create(:legislation_draft_version, :published)
|
||||
|
||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||
|
||||
@@ -158,8 +158,6 @@ describe "Legislation Draft Versions" do
|
||||
end
|
||||
|
||||
scenario "Create" do
|
||||
draft_version = create(:legislation_draft_version, :published)
|
||||
|
||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||
|
||||
page.find(:css, ".legislation-annotatable").double_click
|
||||
@@ -182,7 +180,6 @@ describe "Legislation Draft Versions" do
|
||||
end
|
||||
|
||||
scenario "View annotations and comments" do
|
||||
draft_version = create(:legislation_draft_version, :published)
|
||||
annotation1 = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 5, "end" => "/p[1]", "endOffset" => 10 }])
|
||||
create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
||||
@@ -201,9 +198,8 @@ describe "Legislation Draft Versions" do
|
||||
end
|
||||
|
||||
scenario "Publish new comment for an annotation from comments box" do
|
||||
draft_version = create(:legislation_draft_version, :published)
|
||||
annotation = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
||||
create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 6, "end" => "/p[1]", "endOffset" => 11 }])
|
||||
|
||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||
|
||||
@@ -219,17 +215,16 @@ describe "Legislation Draft Versions" do
|
||||
end
|
||||
|
||||
context "Merged annotations", :js do
|
||||
|
||||
let(:user) { create(:user) }
|
||||
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||
|
||||
before { login_as user }
|
||||
|
||||
scenario "View annotations and comments in an included range" do
|
||||
draft_version = create(:legislation_draft_version, :published)
|
||||
annotation1 = create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 5 }])
|
||||
annotation2 = create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 10 }])
|
||||
create(:legislation_annotation, draft_version: draft_version, text: "my annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 5 }])
|
||||
create(:legislation_annotation, draft_version: draft_version, text: "my other annotation",
|
||||
ranges: [{ "start" => "/p[1]", "startOffset" => 1, "end" => "/p[1]", "endOffset" => 10 }])
|
||||
|
||||
visit legislation_process_draft_version_path(draft_version.process, draft_version)
|
||||
|
||||
@@ -246,16 +241,17 @@ describe "Legislation Draft Versions" do
|
||||
end
|
||||
|
||||
context "Annotations page" do
|
||||
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||
|
||||
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 }])
|
||||
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 }])
|
||||
end
|
||||
|
||||
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 "audiam"
|
||||
@@ -298,16 +294,17 @@ describe "Legislation Draft Versions" do
|
||||
end
|
||||
|
||||
context "Annotation comments page" do
|
||||
let(:draft_version) { create(:legislation_draft_version, :published) }
|
||||
|
||||
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 }])
|
||||
@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 }])
|
||||
end
|
||||
|
||||
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 "my annotation"
|
||||
|
||||
@@ -33,27 +33,23 @@ describe EmailDigest do
|
||||
end
|
||||
|
||||
describe "pending_notifications?" do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
it "returns true when notifications have not been emailed" do
|
||||
user = create(:user)
|
||||
|
||||
notification = create(:notification, :for_proposal_notification, user: user)
|
||||
create(:notification, :for_proposal_notification, user: user)
|
||||
|
||||
email_digest = EmailDigest.new(user)
|
||||
expect(email_digest.pending_notifications?).to be
|
||||
end
|
||||
|
||||
it "returns false when notifications have been emailed" do
|
||||
user = create(:user)
|
||||
|
||||
notification = create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
||||
create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
||||
|
||||
email_digest = EmailDigest.new(user)
|
||||
expect(email_digest.pending_notifications?).not_to be
|
||||
end
|
||||
|
||||
it "returns false when there are no notifications for a user" do
|
||||
user = create(:user)
|
||||
email_digest = EmailDigest.new(user)
|
||||
expect(email_digest.pending_notifications?).not_to be
|
||||
end
|
||||
@@ -61,11 +57,10 @@ describe EmailDigest do
|
||||
end
|
||||
|
||||
describe "deliver" do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
it "delivers email if notifications pending" do
|
||||
user = create(:user)
|
||||
|
||||
notification = create(:notification, :for_proposal_notification, user: user)
|
||||
create(:notification, :for_proposal_notification, user: user)
|
||||
|
||||
reset_mailer
|
||||
email_digest = EmailDigest.new(user)
|
||||
@@ -76,8 +71,6 @@ describe EmailDigest do
|
||||
end
|
||||
|
||||
it "does not deliver email if no notifications pending" do
|
||||
user = create(:user)
|
||||
|
||||
create(:notification, :for_proposal_notification, user: user, emailed_at: Time.current)
|
||||
|
||||
reset_mailer
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
require "rails_helper"
|
||||
|
||||
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
|
||||
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
|
||||
expect(voter).to be_valid
|
||||
@@ -31,8 +29,6 @@ describe Poll::Voter do
|
||||
end
|
||||
|
||||
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)
|
||||
voter2 = build(:poll_voter, user: user, poll: poll)
|
||||
|
||||
@@ -41,8 +37,6 @@ describe Poll::Voter do
|
||||
end
|
||||
|
||||
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)
|
||||
voter2 = build(:poll_voter, user: user, poll: poll, booth_assignment: booth_assignment)
|
||||
|
||||
@@ -51,8 +45,6 @@ describe Poll::Voter do
|
||||
end
|
||||
|
||||
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))
|
||||
|
||||
voter = build(:poll_voter, :from_booth, user: user, poll: poll, booth: booth)
|
||||
@@ -62,8 +54,6 @@ describe Poll::Voter do
|
||||
end
|
||||
|
||||
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))
|
||||
|
||||
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
|
||||
voter.origin = "booth"
|
||||
voter.officer_assignment = officer_assignment
|
||||
voter.officer_assignment = create(:poll_officer_assignment)
|
||||
expect(voter).to be_valid
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user