From 73b0fe5162e5d0b5ceccec61c71019bb9d40d415 Mon Sep 17 00:00:00 2001 From: iagirre Date: Tue, 23 Jan 2018 16:50:44 +0100 Subject: [PATCH] Modified feature spec to pass with the new UI Add feature spec to test if the 'Calculate winners' button is enabled or not, depending on the phase. It also checks the message that clarifies why the button is disabled. --- spec/features/admin/budget_investments_spec.rb | 17 +++++++++++++++++ spec/features/admin/budgets_spec.rb | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/spec/features/admin/budget_investments_spec.rb b/spec/features/admin/budget_investments_spec.rb index fe386bbaa..4a1beaacd 100644 --- a/spec/features/admin/budget_investments_spec.rb +++ b/spec/features/admin/budget_investments_spec.rb @@ -366,6 +366,23 @@ feature 'Admin budget investments' do expect(page).not_to have_select("tag_name", options: ["All tags", "Accessibility"]) end + scenario "Disable 'Calculate winner' button if incorrect phase" do + budget.update(phase: 'reviewing_ballots') + + visit admin_budget_budget_investments_path(budget) + click_link 'Winners' + + expect(page).to have_link "Calculate Winner Investments" + + budget.update(phase: 'accepting') + + visit admin_budget_budget_investments_path(budget) + click_link 'Winners' + + expect(page).not_to have_link "Calculate Winner Investments" + expect(page).to have_content 'The budget has to stay on phase "Balloting projects", "Reviewing Ballots" or "Finished budget" in order to calculate winners projects' + end + scenario "Limiting by max number of investments per heading", :js do group_1 = create(:budget_group, budget: budget) group_2 = create(:budget_group, budget: budget) diff --git a/spec/features/admin/budgets_spec.rb b/spec/features/admin/budgets_spec.rb index 6288a2c8e..9872a9d27 100644 --- a/spec/features/admin/budgets_spec.rb +++ b/spec/features/admin/budgets_spec.rb @@ -186,7 +186,8 @@ feature 'Admin budgets' do end context "Calculate Budget's Winner Investments" do - scenario 'For a Budget in reviewing balloting' 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)