+
<%= t("budgets.index.map") %>
<%= render_map(nil, "budgets", false, nil, @budgets_coordinates) %>
@@ -96,15 +97,15 @@
<% show_links = show_links_to_budget_investments(current_budget) %>
<% if show_links %>
- <%= link_to budget_investments_path(current_budget.id) do %>
+ <%= link_to budget_url(current_budget) do %>
<%= t("budgets.index.investment_proyects") %>
<% end %>
<% end %>
- <%= link_to budget_investments_path(budget_id: current_budget.id, filter: 'unfeasible') do %>
+ <%= link_to budget_url(current_budget, filter: 'unfeasible') do %>
<%= t("budgets.index.unfeasible_investment_proyects") %>
<% end %>
<% if show_links %>
- <%= link_to budget_investments_path(budget_id: current_budget.id, filter: 'unselected') do %>
+ <%= link_to budget_url(current_budget, filter: 'unselected') do %>
<%= t("budgets.index.not_selected_investment_proyects") %>
<% end %>
<% end %>
diff --git a/app/views/budgets/investments/index.html.erb b/app/views/budgets/investments/index.html.erb
index e23efac73..cbf44c357 100644
--- a/app/views/budgets/investments/index.html.erb
+++ b/app/views/budgets/investments/index.html.erb
@@ -57,7 +57,18 @@
<%= render("shared/advanced_search", search_path: budget_investments_url(@budget)) %>
- <%= render('shared/order_links', i18n_namespace: "budgets.investments.index") unless @current_filter == "unfeasible" %>
+ <% if unfeasible_or_unselected_filter %>
+
+ <% else %>
+ <%= render("shared/order_links", i18n_namespace: "budgets.investments.index") %>
+ <% end %>
<% if investments_default_view? %>
diff --git a/spec/features/budgets/budgets_spec.rb b/spec/features/budgets/budgets_spec.rb
index cd4c5615d..b3fa3bee3 100644
--- a/spec/features/budgets/budgets_spec.rb
+++ b/spec/features/budgets/budgets_spec.rb
@@ -60,22 +60,46 @@ feature 'Budgets' do
end
end
- scenario 'Show informing index without links' do
- budget.update_attributes(phase: 'informing')
+ scenario "Show informing index without links" do
+ budget.update_attributes(phase: "informing")
group = create(:budget_group, budget: budget)
- heading = create(:budget_heading, group: group, name: 'Health')
+ heading = create(:budget_heading, group: group)
visit budgets_path
- within('#budget_info') do
- expect(page).not_to have_link("Health €1,000,000")
- expect(page).to have_content("Health €1,000,000")
+ within("#budget_info") do
+ expect(page).not_to have_link "#{heading.name} €1,000,000"
+ expect(page).to have_content "#{heading.name} €1,000,000"
expect(page).not_to have_link("List of all investment projects")
expect(page).not_to have_link("List of all unfeasible investment projects")
expect(page).not_to have_link("List of all investment projects not selected for balloting")
- expect(page).not_to have_css('div#map')
+ expect(page).not_to have_css("div.map")
+ end
+ end
+
+ scenario "Show finished index without heading links" do
+ budget.update_attributes(phase: "finished")
+ group = create(:budget_group, budget: budget)
+ heading = create(:budget_heading, group: group)
+
+ visit budgets_path
+
+ within("#budget_info") do
+ expect(page).not_to have_link "#{heading.name} €1,000,000"
+ expect(page).to have_content "#{heading.name} €1,000,000"
+
+ expect(page).to have_link "List of all investment projects",
+ href: budget_url(budget)
+
+ expect(page).to have_link "List of all unfeasible investment projects",
+ href: budget_url(budget, filter: "unfeasible")
+
+ expect(page).to have_link "List of all investment projects not selected for balloting",
+ href: budget_url(budget, filter: "unselected")
+
+ expect(page).to have_css("div.map")
end
end
diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb
index b8f2a9dfa..533b8d543 100644
--- a/spec/features/budgets/investments_spec.rb
+++ b/spec/features/budgets/investments_spec.rb
@@ -715,6 +715,28 @@ feature 'Budget Investments' do
expect(order).not_to eq(new_order)
end
+ scenario "Order always is random for unfeasible and unselected investments" do
+ Budget::Phase::PHASE_KINDS.each do |phase|
+ budget.update(phase: phase)
+
+ visit budget_investments_path(budget, heading_id: heading.id, filter: "unfeasible")
+
+ within(".submenu") do
+ expect(page).to have_content "random"
+ expect(page).not_to have_content "by price"
+ expect(page).not_to have_content "highest rated"
+ end
+
+ visit budget_investments_path(budget, heading_id: heading.id, filter: "unselected")
+
+ within(".submenu") do
+ expect(page).to have_content "random"
+ expect(page).not_to have_content "price"
+ expect(page).not_to have_content "highest rated"
+ end
+ end
+ end
+
def investments_order
all(".budget-investment h3").collect {|i| i.text }
end