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"
|
||||
end
|
||||
|
||||
def balloting_or_later?
|
||||
balloting? || reviewing_ballots? || finished?
|
||||
end
|
||||
|
||||
def on_hold?
|
||||
reviewing? || valuating? || reviewing_ballots?
|
||||
end
|
||||
|
||||
@@ -45,24 +45,26 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% unless @current_filter == "unfeasible" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.groups.show.unfeasible"),
|
||||
budget_path(@budget, filter: "unfeasible") %>
|
||||
</small>
|
||||
<% if @budget.balloting_or_later? %>
|
||||
<% unless @current_filter == "unfeasible" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.groups.show.unfeasible"),
|
||||
budget_path(@budget, filter: "unfeasible") %>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% unless @current_filter == "unselected" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.groups.show.unselected"),
|
||||
budget_path(@budget, filter: "unselected") %>
|
||||
</small>
|
||||
<% unless @current_filter == "unselected" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.groups.show.unselected"),
|
||||
budget_path(@budget, filter: "unselected") %>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
@@ -70,24 +70,26 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% unless @current_filter == "unfeasible" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.show.unfeasible"),
|
||||
budget_path(@budget, filter: "unfeasible") %>
|
||||
</small>
|
||||
<% if @budget.balloting_or_later? %>
|
||||
<% unless @current_filter == "unfeasible" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.show.unfeasible"),
|
||||
budget_path(@budget, filter: "unfeasible") %>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% unless @current_filter == "unselected" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.show.unselected"),
|
||||
budget_path(@budget, filter: "unselected") %>
|
||||
</small>
|
||||
<% unless @current_filter == "unselected" %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<small>
|
||||
<%= link_to t("budgets.show.unselected"),
|
||||
budget_path(@budget, filter: "unselected") %>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
@@ -8,14 +8,57 @@ feature 'Budgets' do
|
||||
budgets.each {|budget| expect(page).to have_link(budget.name)}
|
||||
end
|
||||
|
||||
scenario 'Show' do
|
||||
budget = create(:budget)
|
||||
group1 = create(:budget_group, budget: budget)
|
||||
group2 = create(:budget_group, budget: budget)
|
||||
context 'Show' do
|
||||
|
||||
visit budget_path(budget)
|
||||
scenario "List all groups" do
|
||||
budget = create(:budget)
|
||||
group1 = create(:budget_group, budget: budget)
|
||||
group2 = create(:budget_group, budget: budget)
|
||||
|
||||
visit budget_path(budget)
|
||||
|
||||
budget.groups.each {|group| expect(page).to have_link(group.name)}
|
||||
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
|
||||
|
||||
budget.groups.each {|group| expect(page).to have_link(group.name)}
|
||||
end
|
||||
|
||||
context 'Accepting' do
|
||||
|
||||
@@ -73,6 +73,7 @@ feature 'Budget Investments' do
|
||||
end
|
||||
|
||||
scenario "by unfeasibilty link for group with one heading" do
|
||||
budget.update(phase: :balloting)
|
||||
group = create(:budget_group, name: 'All City', budget: budget)
|
||||
heading = create(:budget_heading, name: "Madrid", group: group)
|
||||
|
||||
@@ -86,6 +87,7 @@ feature 'Budget Investments' do
|
||||
end
|
||||
|
||||
scenario "by unfeasibilty link for group with many headings" do
|
||||
budget.update(phase: :balloting)
|
||||
group = create(:budget_group, name: 'Districts', budget: budget)
|
||||
heading1 = create(:budget_heading, name: 'Carabanchel', group: group)
|
||||
heading2 = create(:budget_heading, name: 'Barajas', group: group)
|
||||
|
||||
@@ -49,6 +49,52 @@ describe Budget do
|
||||
budget.phase = "finished"
|
||||
expect(budget).to be_finished
|
||||
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
|
||||
|
||||
describe "heading_price" do
|
||||
|
||||
Reference in New Issue
Block a user