Merge pull request #2223 from wairbut-m2c/iagirre-prevent-edition-if-budget-final-phase

Prevent edition of investments if budget is in the final phase
This commit is contained in:
María Checa
2018-01-09 12:18:23 +01:00
committed by GitHub
3 changed files with 69 additions and 34 deletions

View File

@@ -36,6 +36,21 @@ feature 'Admin budget investments' do
expect(page).to have_content(budget_investment.total_votes)
end
scenario 'If budget is finished do not show "Selected" button' do
finished_budget = create(:budget, :finished)
budget_investment = create(:budget_investment, budget: finished_budget, cached_votes_up: 77)
visit admin_budget_budget_investments_path(budget_id: finished_budget.id)
within("#budget_investment_#{budget_investment.id}") do
expect(page).to have_content(budget_investment.title)
expect(page).to have_content(budget_investment.heading.name)
expect(page).to have_content(budget_investment.id)
expect(page).to have_content(budget_investment.total_votes)
expect(page).to_not have_link("Selected")
end
end
scenario 'Displaying assignments info' do
budget_investment1 = create(:budget_investment, budget: @budget)
budget_investment2 = create(:budget_investment, budget: @budget)
@@ -279,33 +294,55 @@ feature 'Admin budget investments' do
end
scenario 'Show' do
administrator = create(:administrator, user: create(:user, username: 'Ana', email: 'ana@admins.org'))
valuator = create(:valuator, user: create(:user, username: 'Rachel', email: 'rachel@valuators.org'))
budget_investment = create(:budget_investment,
price: 1234,
price_first_year: 1000,
feasibility: "unfeasible",
unfeasibility_explanation: 'It is impossible',
administrator: administrator)
budget_investment.valuators << valuator
context 'Show' do
background do
@administrator = create(:administrator, user: create(:user, username: 'Ana', email: 'ana@admins.org'))
end
visit admin_budget_budget_investments_path(budget_investment.budget)
scenario 'Show the investment details' do
valuator = create(:valuator, user: create(:user, username: 'Rachel', email: 'rachel@valuators.org'))
budget_investment = create(:budget_investment,
price: 1234,
price_first_year: 1000,
feasibility: "unfeasible",
unfeasibility_explanation: 'It is impossible',
administrator: @administrator)
budget_investment.valuators << valuator
click_link budget_investment.title
visit admin_budget_budget_investments_path(budget_investment.budget)
expect(page).to have_content(budget_investment.title)
expect(page).to have_content(budget_investment.description)
expect(page).to have_content(budget_investment.author.name)
expect(page).to have_content(budget_investment.heading.name)
expect(page).to have_content('1234')
expect(page).to have_content('1000')
expect(page).to have_content('Unfeasible')
expect(page).to have_content('It is impossible')
expect(page).to have_content('Ana (ana@admins.org)')
click_link budget_investment.title
within('#assigned_valuators') do
expect(page).to have_content('Rachel (rachel@valuators.org)')
expect(page).to have_content(budget_investment.title)
expect(page).to have_content(budget_investment.description)
expect(page).to have_content(budget_investment.author.name)
expect(page).to have_content(budget_investment.heading.name)
expect(page).to have_content('1234')
expect(page).to have_content('1000')
expect(page).to have_content('Unfeasible')
expect(page).to have_content('It is impossible')
expect(page).to have_content('Ana (ana@admins.org)')
within('#assigned_valuators') do
expect(page).to have_content('Rachel (rachel@valuators.org)')
end
end
scenario "If budget is finished, investment cannot be edited" do
# Only milestones can be managed
finished_budget = create(:budget, :finished)
budget_investment = create(:budget_investment,
budget: finished_budget,
administrator: @administrator)
visit admin_budget_budget_investments_path(budget_investment.budget)
click_link budget_investment.title
expect(page).to_not have_link "Edit"
expect(page).to_not have_link "Edit classification"
expect(page).to_not have_link "Edit dossier"
expect(page).to have_link "Create new milestone"
end
end