Declare local variables outside a block

We couldn't declare them inside the block because they would be
considered local variables and its value would be lost when the block
was finished. So we were using instance variables instead.

However, with instance variables we don't get any warnings when we
misspell their names. We can avoid them by declaring the local variables
before the block starts.
This commit is contained in:
Javi Martín
2019-09-29 15:41:17 +02:00
parent 91c21b0982
commit 86366da28c
2 changed files with 21 additions and 13 deletions

View File

@@ -744,18 +744,20 @@ describe "Budget Investments" do
scenario "Each user has a different and consistent random budget investment order" do
(per_page * 1.3).to_i.times { create(:budget_investment, heading: heading) }
first_user_investments_order = nil
second_user_investments_order = nil
in_browser(:one) do
visit budget_investments_path(budget, heading: heading)
@first_user_investments_order = investments_order
first_user_investments_order = investments_order
end
in_browser(:two) do
visit budget_investments_path(budget, heading: heading)
@second_user_investments_order = investments_order
second_user_investments_order = investments_order
end
expect(@first_user_investments_order).not_to eq(@second_user_investments_order)
expect(first_user_investments_order).not_to eq(second_user_investments_order)
in_browser(:one) do
click_link "Next"
@@ -764,7 +766,7 @@ describe "Budget Investments" do
click_link "Previous"
expect(page).to have_content "You're on page 1"
expect(investments_order).to eq(@first_user_investments_order)
expect(investments_order).to eq(first_user_investments_order)
end
in_browser(:two) do
@@ -774,24 +776,27 @@ describe "Budget Investments" do
click_link "Previous"
expect(page).to have_content "You're on page 1"
expect(investments_order).to eq(@second_user_investments_order)
expect(investments_order).to eq(second_user_investments_order)
end
end
scenario "Each user has a equal and consistent budget investment order when the random_seed is equal" do
(per_page * 1.3).to_i.times { create(:budget_investment, heading: heading) }
first_user_investments_order = nil
second_user_investments_order = nil
in_browser(:one) do
visit budget_investments_path(budget, heading: heading, random_seed: "1")
@first_user_investments_order = investments_order
first_user_investments_order = investments_order
end
in_browser(:two) do
visit budget_investments_path(budget, heading: heading, random_seed: "1")
@second_user_investments_order = investments_order
second_user_investments_order = investments_order
end
expect(@first_user_investments_order).to eq(@second_user_investments_order)
expect(first_user_investments_order).to eq(second_user_investments_order)
end
scenario "Set votes for investments randomized with a seed" do

View File

@@ -37,28 +37,31 @@ describe "Legislation Proposals" do
let(:per_page) { 12 }
scenario "Each user has a different and consistent random proposals order", :js do
first_user_proposals_order = nil
second_user_proposals_order = nil
in_browser(:one) do
login_as user
visit legislation_process_proposals_path(process)
@first_user_proposals_order = legislation_proposals_order
first_user_proposals_order = legislation_proposals_order
end
in_browser(:two) do
login_as user2
visit legislation_process_proposals_path(process)
@second_user_proposals_order = legislation_proposals_order
second_user_proposals_order = legislation_proposals_order
end
expect(@first_user_proposals_order).not_to eq(@second_user_proposals_order)
expect(first_user_proposals_order).not_to eq(second_user_proposals_order)
in_browser(:one) do
visit legislation_process_proposals_path(process)
expect(legislation_proposals_order).to eq(@first_user_proposals_order)
expect(legislation_proposals_order).to eq(first_user_proposals_order)
end
in_browser(:two) do
visit legislation_process_proposals_path(process)
expect(legislation_proposals_order).to eq(@second_user_proposals_order)
expect(legislation_proposals_order).to eq(second_user_proposals_order)
end
end
end