Simplify investment creation in specs

Now factories define default headings for investments, so there's no
need to create a group and a heading to create an investment.

Likewise, in order to create a heading it isn't necessary to specify a
group anymore; specifying the budget is enough.

It's possible that there are more similar cases we haven't simplified
yet; I'm only addressing the obvious ones.
This commit is contained in:
Javi Martín
2019-09-21 01:53:22 +02:00
parent 1faa659c89
commit c8c8a7bc30
17 changed files with 33 additions and 73 deletions

View File

@@ -35,10 +35,7 @@ describe "Admin budget investments" do
end
context "Load" do
let(:group) { create(:budget_group, budget: budget) }
let(:heading) { create(:budget_heading, group: group) }
let!(:investment) { create(:budget_investment, heading: heading) }
let!(:investment) { create(:budget_investment, budget: budget) }
before { budget.update(slug: "budget_slug") }
@@ -1596,8 +1593,7 @@ describe "Admin budget investments" do
let(:valuator) { create(:valuator) }
let(:admin) { create(:administrator) }
let(:group) { create(:budget_group, budget: budget) }
let(:heading) { create(:budget_heading, group: group) }
let(:heading) { create(:budget_heading, budget: budget) }
let(:investment1) { create(:budget_investment, heading: heading) }
let(:investment2) { create(:budget_investment, heading: heading) }

View File

@@ -153,7 +153,7 @@ describe "Admin budgets" do
context "Destroy" do
let!(:budget) { create(:budget) }
let(:heading) { create(:budget_heading, group: create(:budget_group, budget: budget)) }
let(:heading) { create(:budget_heading, budget: budget) }
scenario "Destroy a budget without investments" do
visit admin_budgets_path
@@ -270,8 +270,7 @@ describe "Admin budgets" do
scenario "For a Budget in reviewing balloting", :js do
budget = create(:budget, phase: "reviewing_ballots")
group = create(:budget_group, budget: budget)
heading = create(:budget_heading, group: group, price: 4)
heading = create(:budget_heading, budget: budget, price: 4)
unselected = create(:budget_investment, :unselected, heading: heading, price: 1,
ballot_lines_count: 3)
winner = create(:budget_investment, :selected, heading: heading, price: 3,
@@ -302,9 +301,7 @@ describe "Admin budgets" do
scenario "Recalculate for a finished Budget" do
budget = create(:budget, :finished)
group = create(:budget_group, budget: budget)
heading = create(:budget_heading, group: group)
create(:budget_investment, :winner, heading: heading)
create(:budget_investment, :winner, budget: budget)
visit edit_admin_budget_path(budget)

View File

@@ -261,8 +261,7 @@ describe "Admin download settings" do
context "Download budgets" do
let(:budget_finished) { create(:budget, phase: "finished") }
let(:group) { create(:budget_group, budget: budget_finished) }
let(:heading) { create(:budget_heading, group: group, price: 1000) }
let(:heading) { create(:budget_heading, budget: budget_finished, price: 1000) }
let(:investment1) { create(:budget_investment,
:selected,

View File

@@ -3,8 +3,7 @@ require "rails_helper"
describe "Admin hidden budget investments" do
let(:budget) { create(:budget) }
let(:group) { create(:budget_group, name: "Music", budget: budget) }
let(:heading) { create(:budget_heading, name: "Black metal", price: 666666, group: group) }
let(:heading) { create(:budget_heading, budget: budget, price: 666666) }
before do
admin = create(:administrator)

View File

@@ -76,8 +76,7 @@ describe "System Emails" do
let(:user) { create(:user, :level_two, username: "John Doe") }
let(:budget) { create(:budget, name: "Budget for 2019") }
let(:group) { create(:budget_group, budget: budget) }
let(:heading) { create(:budget_heading, group: group) }
let(:heading) { create(:budget_heading, budget: budget) }
scenario "#proposal_notification_digest" do
proposal_a = create(:proposal, title: "Proposal A")