Use let instead of an instance variable

This commit is contained in:
Julian Herrero
2019-04-09 12:28:03 +02:00
parent 73ae74b2b1
commit 879591cc5c

View File

@@ -2,12 +2,12 @@ require "rails_helper"
feature "Budget Investments" do
background do
login_as_manager
@budget = create(:budget, phase: "selecting", name: "2033")
@group = create(:budget_group, budget: @budget, name: "Whole city")
@heading = create(:budget_heading, group: @group, name: "Health")
end
let(:manager) { create(:manager) }
let(:budget) { create(:budget, phase: "selecting", name: "2033") }
let(:group) { create(:budget_group, budget: budget, name: "Whole city") }
let(:heading) { create(:budget_heading, group: group, name: "Health") }
before { login_as_manager(manager) }
it_behaves_like "mappable",
"budget_investment",
@@ -19,7 +19,7 @@ feature "Budget Investments" do
management = true
context "Create" do
before { @budget.update(phase: "accepting") }
before { heading.budget.update(phase: "accepting") }
scenario "Creating budget investments on behalf of someone, selecting a budget" do
user = create(:user, :level_two)
@@ -27,7 +27,7 @@ feature "Budget Investments" do
login_managed_user(user)
click_link "Create budget investment"
within "#budget_#{@budget.id}" do
within "#budget_#{budget.id}" do
click_link "Create budget investment"
end
@@ -56,7 +56,7 @@ feature "Budget Investments" do
expect(page).to have_content "T.I.A."
expect(page).to have_content "green"
expect(page).to have_content user.name
expect(page).to have_content I18n.l(@budget.created_at.to_date)
expect(page).to have_content I18n.l(budget.created_at.to_date)
end
scenario "Should not allow unverified users to create budget investments" do
@@ -72,15 +72,15 @@ feature "Budget Investments" do
context "Searching" do
scenario "by title" do
budget_investment1 = create(:budget_investment, budget: @budget, title: "Show me what you got")
budget_investment2 = create(:budget_investment, budget: @budget, title: "Get Schwifty")
budget_investment1 = create(:budget_investment, budget: budget, title: "Show me what you got")
budget_investment2 = create(:budget_investment, budget: budget, title: "Get Schwifty")
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Support budget investments"
end
@@ -91,23 +91,23 @@ feature "Budget Investments" do
expect(page).to have_css(".budget-investment", count: 1)
expect(page).to have_content(budget_investment1.title)
expect(page).not_to have_content(budget_investment2.title)
expect(page).to have_css("a[href='#{management_budget_investment_path(@budget, budget_investment1)}']",
expect(page).to have_css("a[href='#{management_budget_investment_path(budget, budget_investment1)}']",
text: budget_investment1.title)
end
end
scenario "by heading" do
budget_investment1 = create(:budget_investment, budget: @budget, title: "Hey ho",
budget_investment1 = create(:budget_investment, budget: budget, title: "Hey ho",
heading: create(:budget_heading, name: "District 9"))
budget_investment2 = create(:budget_investment, budget: @budget, title: "Let's go",
budget_investment2 = create(:budget_investment, budget: budget, title: "Let's go",
heading: create(:budget_heading, name: "Area 52"))
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Support budget investments"
end
@@ -118,22 +118,22 @@ feature "Budget Investments" do
expect(page).to have_css(".budget-investment", count: 1)
expect(page).not_to have_content(budget_investment1.title)
expect(page).to have_content(budget_investment2.title)
expect(page).to have_css("a[href='#{management_budget_investment_path(@budget, budget_investment2)}']",
expect(page).to have_css("a[href='#{management_budget_investment_path(budget, budget_investment2)}']",
text: budget_investment2.title)
end
end
end
scenario "Listing" do
budget_investment1 = create(:budget_investment, budget: @budget, title: "Show me what you got")
budget_investment2 = create(:budget_investment, budget: @budget, title: "Get Schwifty")
budget_investment1 = create(:budget_investment, budget: budget, title: "Show me what you got")
budget_investment2 = create(:budget_investment, budget: budget, title: "Get Schwifty")
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Support budget investments"
end
@@ -146,9 +146,9 @@ feature "Budget Investments" do
within("#budget-investments") do
expect(page).to have_css(".budget-investment", count: 2)
expect(page).to have_css("a[href='#{management_budget_investment_path(@budget, budget_investment1)}']",
expect(page).to have_css("a[href='#{management_budget_investment_path(budget, budget_investment1)}']",
text: budget_investment1.title)
expect(page).to have_css("a[href='#{management_budget_investment_path(@budget, budget_investment2)}']",
expect(page).to have_css("a[href='#{management_budget_investment_path(budget, budget_investment2)}']",
text: budget_investment2.title)
end
end
@@ -211,14 +211,14 @@ feature "Budget Investments" do
context "Supporting" do
scenario "Supporting budget investments on behalf of someone in index view", :js do
budget_investment = create(:budget_investment, budget: @budget, heading: @heading)
budget_investment = create(:budget_investment, budget: budget, heading: heading)
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Support budget investments"
end
expect(page).to have_content(budget_investment.title)
@@ -233,14 +233,14 @@ feature "Budget Investments" do
# This test passes ok locally but fails on the last two lines in Travis
xscenario "Supporting budget investments on behalf of someone in show view", :js do
budget_investment = create(:budget_investment, budget: @budget)
budget_investment = create(:budget_investment, budget: budget)
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Support budget investments"
end
@@ -254,7 +254,7 @@ feature "Budget Investments" do
end
scenario "Should not allow unverified users to vote proposals" do
budget_investment = create(:budget_investment, budget: @budget)
create(:budget_investment, budget: budget)
user = create(:user)
login_managed_user(user)
@@ -268,12 +268,12 @@ feature "Budget Investments" do
context "Printing" do
scenario "Printing budget investments" do
16.times { create(:budget_investment, budget: @budget, heading: @heading) }
16.times { create(:budget_investment, budget: budget, heading: heading) }
click_link "Print budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Print budget investments"
end
@@ -282,20 +282,20 @@ feature "Budget Investments" do
end
scenario "Filtering budget investments by heading to be printed", :js do
district_9 = create(:budget_heading, group: @group, name: "District Nine")
another_heading = create(:budget_heading, group: @group)
low_investment = create(:budget_investment, budget: @budget, title: "Nuke district 9", heading: district_9, cached_votes_up: 1)
mid_investment = create(:budget_investment, budget: @budget, title: "Change district 9", heading: district_9, cached_votes_up: 10)
top_investment = create(:budget_investment, budget: @budget, title: "Destroy district 9", heading: district_9, cached_votes_up: 100)
unvoted_investment = create(:budget_investment, budget: @budget, heading: another_heading, title: "Add new districts to the city")
district_9 = create(:budget_heading, group: group, name: "District Nine")
another_heading = create(:budget_heading, group: group)
low_investment = create(:budget_investment, budget: budget, title: "Nuke district 9", heading: district_9, cached_votes_up: 1)
mid_investment = create(:budget_investment, budget: budget, title: "Change district 9", heading: district_9, cached_votes_up: 10)
top_investment = create(:budget_investment, budget: budget, title: "Destroy district 9", heading: district_9, cached_votes_up: 100)
unvoted_investment = create(:budget_investment, budget: budget, heading: another_heading, title: "Add new districts to the city")
user = create(:user, :level_two)
login_managed_user(user)
click_link "Print budget investments"
expect(page).to have_content(@budget.name)
within "#budget_#{@budget.id}" do
expect(page).to have_content(budget.name)
within "#budget_#{budget.id}" do
click_link "Print budget investments"
end