diff --git a/app/views/budgets/show.html.erb b/app/views/budgets/show.html.erb index 499b7eb58..d68f2023c 100644 --- a/app/views/budgets/show.html.erb +++ b/app/views/budgets/show.html.erb @@ -14,7 +14,7 @@ <%= t("budgets.phase.#{@budget.phase}") %>

- <% if can?(:create, Budget::Investment.new(budget: @budget))%> + <% if @budget.accepting? %> <% if current_user %> <% if current_user.level_two_or_three_verified? %> <%= link_to t("budgets.investments.index.sidebar.create"), new_budget_investment_path(@budget), class: "button margin-top expanded" %> diff --git a/spec/features/budgets/budgets_spec.rb b/spec/features/budgets/budgets_spec.rb index ccf94defd..4d4d603f3 100644 --- a/spec/features/budgets/budgets_spec.rb +++ b/spec/features/budgets/budgets_spec.rb @@ -17,4 +17,41 @@ feature 'Budgets' do budget.groups.each {|group| expect(page).to have_link(group.name)} end + + context 'Accepting' do + + let(:budget) { create(:budget) } + + background do + budget.update(phase: 'accepting') + end + + context "Permissions" do + + scenario "Verified user" do + user = create(:user, :level_two) + login_as(user) + + visit budget_path(budget) + + expect(page).to have_link "Create budget investment" + end + + scenario "Unverified user" do + user = create(:user) + login_as(user) + + visit budget_path(budget) + + expect(page).to have_content "To create a new budget investment verify your account." + end + + scenario "user not logged in" do + visit budget_path(budget) + + expect(page).to have_content "To create a new budget investment you must sign in or sign up." + end + + end + end end \ No newline at end of file