Disable guide page when Budget is not accepting

Why:

When there is not Budget accepting (Investment creation) the guide page
doesn't have much sense as it will give the user an option that can't be
used (creating an Investment).

How:

Using `Budget.current&.accepting?` conditional at GuidesHelper to link
to new proposal link instead of guide page, and adding an scenario to
guides feature spec for it.
This commit is contained in:
Bertocq
2018-02-26 09:57:04 +01:00
parent c3a3e76304
commit dbe723079e
2 changed files with 22 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
module GuidesHelper module GuidesHelper
def new_proposal_guide def new_proposal_guide
if feature?("guides") if feature?('guides') && Budget.current&.accepting?
new_guide_path new_guide_path
else else
new_proposal_path new_proposal_path
@@ -9,7 +9,7 @@ module GuidesHelper
end end
def new_budget_investment_guide def new_budget_investment_guide
if feature?("guides") if feature?('guides')
new_guide_path new_guide_path
else else
new_budget_investment_path(current_budget) new_budget_investment_path(current_budget)

View File

@@ -13,7 +13,8 @@ feature 'Guide the user to create the correct resource' do
Setting['feature.guides'] = nil Setting['feature.guides'] = nil
end end
scenario "Proposal" do context "Proposals" do
scenario "Proposal creation" do
login_as(user) login_as(user)
visit proposals_path visit proposals_path
@@ -23,6 +24,17 @@ feature 'Guide the user to create the correct resource' do
expect(page).to have_current_path(new_proposal_path) expect(page).to have_current_path(new_proposal_path)
end end
scenario "Proposal creation when Budget is not accepting" do
budget.update_attribute(:phase, :reviewing)
login_as(user)
visit proposals_path
click_link "Create a proposal"
expect(page).to have_current_path(new_proposal_path)
end
end
scenario "Budget Investment" do scenario "Budget Investment" do
login_as(user) login_as(user)
visit budgets_path visit budgets_path