Fix investment creation for single budget usage
Budget Investment factory creates a secondary budget as a collateral effect because it has a Heading factory that has a Group factory that creates a Budget. This was resulting in problems due to having two "active" Budgets created and `current_budget` method not choosing the one that we expected
This commit is contained in:
@@ -5,7 +5,9 @@ feature 'Internal valuation comments on Budget::Investments' do
|
|||||||
let(:valuator_user) { create(:valuator).user }
|
let(:valuator_user) { create(:valuator).user }
|
||||||
let(:admin_user) { create(:administrator).user }
|
let(:admin_user) { create(:administrator).user }
|
||||||
let(:budget) { create(:budget, :valuating) }
|
let(:budget) { create(:budget, :valuating) }
|
||||||
let(:investment) { create(:budget_investment, budget: budget) }
|
let(:group) { create(:budget_group, budget: budget) }
|
||||||
|
let(:heading) { create(:budget_heading, group: group) }
|
||||||
|
let(:investment) { create(:budget_investment, budget: budget, group: group, heading: heading) }
|
||||||
|
|
||||||
background do
|
background do
|
||||||
Setting['feature.budgets'] = true
|
Setting['feature.budgets'] = true
|
||||||
|
|||||||
@@ -386,7 +386,8 @@ feature 'Emails' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "Unfeasible investment" do
|
scenario "Unfeasible investment" do
|
||||||
investment = create(:budget_investment, author: author, budget: budget)
|
budget.update(phase: 'valuating')
|
||||||
|
investment = create(:budget_investment, author: author, budget: budget, heading: heading)
|
||||||
|
|
||||||
valuator = create(:valuator)
|
valuator = create(:valuator)
|
||||||
investment.valuators << valuator
|
investment.valuators << valuator
|
||||||
|
|||||||
@@ -216,8 +216,10 @@ feature 'Valuation budget investments' do
|
|||||||
feature 'Valuate' do
|
feature 'Valuate' do
|
||||||
let(:admin) { create(:administrator) }
|
let(:admin) { create(:administrator) }
|
||||||
let(:investment) do
|
let(:investment) do
|
||||||
create(:budget_investment, budget: budget, price: nil,
|
group = create(:budget_group, budget: budget)
|
||||||
administrator: admin)
|
heading = create(:budget_heading, group: group)
|
||||||
|
create(:budget_investment, heading: heading, group: group, budget: budget, price: nil,
|
||||||
|
administrator: admin)
|
||||||
end
|
end
|
||||||
|
|
||||||
background do
|
background do
|
||||||
@@ -410,9 +412,7 @@ feature 'Valuation budget investments' do
|
|||||||
scenario 'not visible to valuators when budget is not valuating' do
|
scenario 'not visible to valuators when budget is not valuating' do
|
||||||
budget.update(phase: 'publishing_prices')
|
budget.update(phase: 'publishing_prices')
|
||||||
|
|
||||||
investment = create(:budget_investment,
|
investment = create(:budget_investment, budget: budget)
|
||||||
:visible_to_valuators,
|
|
||||||
budget: budget)
|
|
||||||
investment.valuators << [valuator]
|
investment.valuators << [valuator]
|
||||||
|
|
||||||
login_as(valuator.user)
|
login_as(valuator.user)
|
||||||
@@ -428,9 +428,7 @@ feature 'Valuation budget investments' do
|
|||||||
admin = create(:administrator, user: user)
|
admin = create(:administrator, user: user)
|
||||||
valuator = create(:valuator, user: user)
|
valuator = create(:valuator, user: user)
|
||||||
|
|
||||||
investment = create(:budget_investment,
|
investment = create(:budget_investment, budget: budget)
|
||||||
:visible_to_valuators,
|
|
||||||
budget: budget)
|
|
||||||
investment.valuators << [valuator]
|
investment.valuators << [valuator]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user