Merge pull request #1532 from consul/selected-unfeasible-links
Selected and unfeasible links only visible if budget is balloting (or later)
This commit is contained in:
@@ -67,6 +67,10 @@ class Budget < ActiveRecord::Base
|
|||||||
phase == "finished"
|
phase == "finished"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def balloting_or_later?
|
||||||
|
balloting? || reviewing_ballots? || finished?
|
||||||
|
end
|
||||||
|
|
||||||
def on_hold?
|
def on_hold?
|
||||||
reviewing? || valuating? || reviewing_ballots?
|
reviewing? || valuating? || reviewing_ballots?
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -45,7 +45,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% unless @current_filter == "unfeasible" %>
|
<% if @budget.balloting_or_later? %>
|
||||||
|
<% unless @current_filter == "unfeasible" %>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<small>
|
<small>
|
||||||
@@ -54,9 +55,9 @@
|
|||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% unless @current_filter == "unselected" %>
|
<% unless @current_filter == "unselected" %>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<small>
|
<small>
|
||||||
@@ -65,4 +66,5 @@
|
|||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -70,7 +70,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% unless @current_filter == "unfeasible" %>
|
<% if @budget.balloting_or_later? %>
|
||||||
|
<% unless @current_filter == "unfeasible" %>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<small>
|
<small>
|
||||||
@@ -79,9 +80,9 @@
|
|||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% unless @current_filter == "unselected" %>
|
<% unless @current_filter == "unselected" %>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<small>
|
<small>
|
||||||
@@ -90,4 +91,5 @@
|
|||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -8,7 +8,9 @@ feature 'Budgets' do
|
|||||||
budgets.each {|budget| expect(page).to have_link(budget.name)}
|
budgets.each {|budget| expect(page).to have_link(budget.name)}
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Show' do
|
context 'Show' do
|
||||||
|
|
||||||
|
scenario "List all groups" do
|
||||||
budget = create(:budget)
|
budget = create(:budget)
|
||||||
group1 = create(:budget_group, budget: budget)
|
group1 = create(:budget_group, budget: budget)
|
||||||
group2 = create(:budget_group, budget: budget)
|
group2 = create(:budget_group, budget: budget)
|
||||||
@@ -18,6 +20,47 @@ feature 'Budgets' do
|
|||||||
budget.groups.each {|group| expect(page).to have_link(group.name)}
|
budget.groups.each {|group| expect(page).to have_link(group.name)}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Links to unfeasible and selected if balloting or later" do
|
||||||
|
budget = create(:budget, :selecting)
|
||||||
|
group = create(:budget_group, budget: budget)
|
||||||
|
|
||||||
|
visit budget_path(budget)
|
||||||
|
|
||||||
|
expect(page).to_not have_link "See unfeasible investments"
|
||||||
|
expect(page).to_not have_link "See investments not selected for balloting phase"
|
||||||
|
|
||||||
|
click_link group.name
|
||||||
|
|
||||||
|
expect(page).to_not have_link "See unfeasible investments"
|
||||||
|
expect(page).to_not have_link "See investments not selected for balloting phase"
|
||||||
|
|
||||||
|
budget.update(phase: :balloting)
|
||||||
|
|
||||||
|
visit budget_path(budget)
|
||||||
|
|
||||||
|
expect(page).to have_link "See unfeasible investments"
|
||||||
|
expect(page).to have_link "See investments not selected for balloting phase"
|
||||||
|
|
||||||
|
click_link group.name
|
||||||
|
|
||||||
|
expect(page).to have_link "See unfeasible investments"
|
||||||
|
expect(page).to have_link "See investments not selected for balloting phase"
|
||||||
|
|
||||||
|
budget.update(phase: :finished)
|
||||||
|
|
||||||
|
visit budget_path(budget)
|
||||||
|
|
||||||
|
expect(page).to have_link "See unfeasible investments"
|
||||||
|
expect(page).to have_link "See investments not selected for balloting phase"
|
||||||
|
|
||||||
|
click_link group.name
|
||||||
|
|
||||||
|
expect(page).to have_link "See unfeasible investments"
|
||||||
|
expect(page).to have_link "See investments not selected for balloting phase"
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
context 'Accepting' do
|
context 'Accepting' do
|
||||||
|
|
||||||
let(:budget) { create(:budget) }
|
let(:budget) { create(:budget) }
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ feature 'Budget Investments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "by unfeasibilty link for group with one heading" do
|
scenario "by unfeasibilty link for group with one heading" do
|
||||||
|
budget.update(phase: :balloting)
|
||||||
group = create(:budget_group, name: 'All City', budget: budget)
|
group = create(:budget_group, name: 'All City', budget: budget)
|
||||||
heading = create(:budget_heading, name: "Madrid", group: group)
|
heading = create(:budget_heading, name: "Madrid", group: group)
|
||||||
|
|
||||||
@@ -86,6 +87,7 @@ feature 'Budget Investments' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
scenario "by unfeasibilty link for group with many headings" do
|
scenario "by unfeasibilty link for group with many headings" do
|
||||||
|
budget.update(phase: :balloting)
|
||||||
group = create(:budget_group, name: 'Districts', budget: budget)
|
group = create(:budget_group, name: 'Districts', budget: budget)
|
||||||
heading1 = create(:budget_heading, name: 'Carabanchel', group: group)
|
heading1 = create(:budget_heading, name: 'Carabanchel', group: group)
|
||||||
heading2 = create(:budget_heading, name: 'Barajas', group: group)
|
heading2 = create(:budget_heading, name: 'Barajas', group: group)
|
||||||
|
|||||||
@@ -49,6 +49,52 @@ describe Budget do
|
|||||||
budget.phase = "finished"
|
budget.phase = "finished"
|
||||||
expect(budget).to be_finished
|
expect(budget).to be_finished
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "on_hold?" do
|
||||||
|
budget.phase = "accepting"
|
||||||
|
expect(budget).to_not be_on_hold
|
||||||
|
|
||||||
|
budget.phase = "reviewing"
|
||||||
|
expect(budget).to be_on_hold
|
||||||
|
|
||||||
|
budget.phase = "selecting"
|
||||||
|
expect(budget).to_not be_on_hold
|
||||||
|
|
||||||
|
budget.phase = "valuating"
|
||||||
|
expect(budget).to be_on_hold
|
||||||
|
|
||||||
|
budget.phase = "balloting"
|
||||||
|
expect(budget).to_not be_on_hold
|
||||||
|
|
||||||
|
budget.phase = "reviewing_ballots"
|
||||||
|
expect(budget).to be_on_hold
|
||||||
|
|
||||||
|
budget.phase = "finished"
|
||||||
|
expect(budget).to_not be_on_hold
|
||||||
|
end
|
||||||
|
|
||||||
|
it "balloting_or_later?" do
|
||||||
|
budget.phase = "accepting"
|
||||||
|
expect(budget).to_not be_balloting_or_later
|
||||||
|
|
||||||
|
budget.phase = "reviewing"
|
||||||
|
expect(budget).to_not be_balloting_or_later
|
||||||
|
|
||||||
|
budget.phase = "selecting"
|
||||||
|
expect(budget).to_not be_balloting_or_later
|
||||||
|
|
||||||
|
budget.phase = "valuating"
|
||||||
|
expect(budget).to_not be_balloting_or_later
|
||||||
|
|
||||||
|
budget.phase = "balloting"
|
||||||
|
expect(budget).to be_balloting_or_later
|
||||||
|
|
||||||
|
budget.phase = "reviewing_ballots"
|
||||||
|
expect(budget).to be_balloting_or_later
|
||||||
|
|
||||||
|
budget.phase = "finished"
|
||||||
|
expect(budget).to be_balloting_or_later
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "heading_price" do
|
describe "heading_price" do
|
||||||
|
|||||||
Reference in New Issue
Block a user