Use let instead of an instance variable
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user