Simplify setting up tests with managed users

This commit is contained in:
Javi Martín
2021-04-02 15:17:21 +02:00
parent 609d6ab9a3
commit efbb3bb690
2 changed files with 12 additions and 66 deletions

View File

@@ -5,8 +5,12 @@ describe "Budget Investments" do
let(:budget) { create(:budget, :selecting, name: "2033", slug: "budget_slug") }
let(:group) { create(:budget_group, budget: budget, name: "Whole city") }
let(:heading) { create(:budget_heading, group: group, name: "Health") }
let(:user) { create(:user, :level_two) }
before { login_as_manager(manager) }
before do
login_managed_user(user)
login_as_manager(manager)
end
it_behaves_like "mappable",
"budget_investment",
@@ -19,9 +23,6 @@ describe "Budget Investments" do
context "Load" do
let(:investment) { create(:budget_investment, budget: budget) }
let(:user) { create(:user, :level_two) }
before { login_managed_user(user) }
scenario "finds investment using budget slug" do
visit management_budget_investment_path("budget_slug", investment)
@@ -34,10 +35,6 @@ describe "Budget Investments" do
before { heading.budget.update(phase: "accepting") }
scenario "Creating budget investments on behalf of someone, selecting a budget" do
user = create(:user, :level_two)
login_managed_user(user)
click_link "Create budget investment"
within "#budget_#{budget.id}" do
click_link "Create budget investment"
@@ -72,8 +69,7 @@ describe "Budget Investments" do
end
scenario "Should not allow unverified users to create budget investments" do
user = create(:user)
login_managed_user(user)
login_managed_user(create(:user))
click_link "Create budget investment"
@@ -86,7 +82,6 @@ describe "Budget Investments" do
create(:budget_investment, budget: budget, title: "More parks")
create(:budget_investment, budget: budget, title: "No more parks")
create(:budget_investment, budget: budget, title: "Plant trees")
login_managed_user(create(:user, :level_two))
click_link "Create budget investment"
within "#budget_#{budget.id}" do
@@ -109,9 +104,6 @@ describe "Budget Investments" do
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
@@ -137,9 +129,6 @@ describe "Budget Investments" do
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
@@ -164,9 +153,6 @@ describe "Budget Investments" do
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
@@ -200,9 +186,6 @@ describe "Budget Investments" do
reviewing_ballots_budget = create(:budget, :reviewing_ballots)
finished = create(:budget, :finished)
user = create(:user, :level_two)
login_managed_user(user)
click_link "Create budget investment"
expect(page).to have_content(accepting_budget.name)
@@ -230,8 +213,6 @@ describe "Budget Investments" do
admin = create(:administrator)
login_as(admin.user)
user = create(:user, :level_two)
login_managed_user(user)
visit management_sign_in_path
click_link "Create budget investment"
@@ -250,9 +231,6 @@ describe "Budget Investments" do
scenario "Supporting budget investments on behalf of someone in index view" do
budget_investment = create(:budget_investment, 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
@@ -272,9 +250,6 @@ describe "Budget Investments" do
xscenario "Supporting budget investments on behalf of someone in show view" do
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
@@ -291,11 +266,9 @@ describe "Budget Investments" do
end
scenario "Should not allow unverified users to vote proposals" do
login_managed_user(create(:user))
create(:budget_investment, budget: budget)
user = create(:user)
login_managed_user(user)
click_link "Support budget investments"
expect(page).to have_content "User is not verified"
@@ -355,9 +328,6 @@ describe "Budget Investments" do
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)

View File

@@ -1,15 +1,15 @@
require "rails_helper"
describe "Proposals" do
let(:user) { create(:user, :level_two) }
before do
login_managed_user(user)
login_as_manager
end
context "Create" do
scenario "Creating proposals on behalf of someone" do
user = create(:user, :level_two)
login_managed_user(user)
click_link "Create proposal"
within(".account-info") do
@@ -40,8 +40,7 @@ describe "Proposals" do
end
scenario "Should not allow unverified users to create proposals" do
user = create(:user)
login_managed_user(user)
login_managed_user(create(:user))
click_link "Create proposal"
@@ -53,9 +52,6 @@ describe "Proposals" do
scenario "When path matches the friendly url" do
proposal = create(:proposal)
user = create(:user, :level_two)
login_managed_user(user)
right_path = management_proposal_path(proposal)
visit right_path
@@ -65,9 +61,6 @@ describe "Proposals" do
scenario "When path does not match the friendly url" do
proposal = create(:proposal)
user = create(:user, :level_two)
login_managed_user(user)
right_path = management_proposal_path(proposal)
old_path = "#{management_proposals_path}/#{proposal.id}-something-else"
visit old_path
@@ -79,7 +72,6 @@ describe "Proposals" do
scenario "Successful proposal" do
proposal = create(:proposal, :successful, title: "Success!")
login_managed_user(create(:user, :level_two))
visit management_proposal_path(proposal)
expect(page).to have_content("Success!")
@@ -90,9 +82,6 @@ describe "Proposals" do
proposal1 = create(:proposal, title: "Show me what you got")
proposal2 = create(:proposal, title: "Get Schwifty")
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support proposals"
fill_in "search", with: "what you got"
@@ -113,9 +102,6 @@ describe "Proposals" do
proposal1 = create(:proposal, title: "Show me what you got")
proposal2 = create(:proposal, title: "Get Schwifty")
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support proposals"
expect(page).to have_current_path(management_proposals_path)
@@ -140,9 +126,6 @@ describe "Proposals" do
let!(:proposal) { create(:proposal) }
scenario "Voting proposals on behalf of someone in index view" do
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support proposals"
within(".proposals-list") do
@@ -155,9 +138,6 @@ describe "Proposals" do
end
scenario "Voting proposals on behalf of someone in show view" do
user = create(:user, :level_two)
login_managed_user(user)
click_link "Support proposals"
within(".proposals-list") { click_link proposal.title }
@@ -171,8 +151,7 @@ describe "Proposals" do
end
scenario "Should not allow unverified users to vote proposals" do
user = create(:user)
login_managed_user(user)
login_managed_user(create(:user))
click_link "Support proposals"
@@ -198,9 +177,6 @@ describe "Proposals" do
medium_proposal = create(:proposal, title: "Medium proposal")
medium_proposal.update_column(:confidence_score, 5)
user = create(:user, :level_two)
login_managed_user(user)
click_link "Print proposals"
expect(page).to have_selector(".js-order-selector[data-order='confidence_score']")