Show only selected investments on map from publishing prices phase
If there are no selected investements show all investments on map.
This commit is contained in:
@@ -70,7 +70,7 @@ module BudgetsHelper
|
||||
|
||||
def current_budget_map_locations
|
||||
return unless current_budget.present?
|
||||
if current_budget.valuating_or_later?
|
||||
if current_budget.publishing_prices_or_later? && current_budget.investments.selected.any?
|
||||
investments = current_budget.investments.selected
|
||||
else
|
||||
investments = current_budget.investments
|
||||
|
||||
@@ -105,8 +105,8 @@ class Budget < ActiveRecord::Base
|
||||
Budget::Phase::PUBLISHED_PRICES_PHASES.include?(phase)
|
||||
end
|
||||
|
||||
def valuating_or_later?
|
||||
valuating? || publishing_prices? || balloting_or_later?
|
||||
def publishing_prices_or_later?
|
||||
publishing_prices? || balloting_or_later?
|
||||
end
|
||||
|
||||
def balloting_process?
|
||||
|
||||
@@ -230,7 +230,7 @@ feature 'Budgets' do
|
||||
let(:heading) { create(:budget_heading, group: group) }
|
||||
|
||||
background do
|
||||
Setting['feature.map'] = true
|
||||
Setting["feature.map"] = true
|
||||
end
|
||||
|
||||
scenario "Display investment's map location markers", :js do
|
||||
@@ -249,6 +249,46 @@ feature 'Budgets' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Display all investment's map location if there are no selected", :js do
|
||||
budget.update(phase: :publishing_prices)
|
||||
|
||||
investment1 = create(:budget_investment, heading: heading)
|
||||
investment2 = create(:budget_investment, heading: heading)
|
||||
investment3 = create(:budget_investment, heading: heading)
|
||||
investment4 = create(:budget_investment, heading: heading)
|
||||
|
||||
investment1.create_map_location(longitude: 40.1234, latitude: 3.1234, zoom: 10)
|
||||
investment2.create_map_location(longitude: 40.1235, latitude: 3.1235, zoom: 10)
|
||||
investment3.create_map_location(longitude: 40.1236, latitude: 3.1236, zoom: 10)
|
||||
investment4.create_map_location(longitude: 40.1240, latitude: 3.1240, zoom: 10)
|
||||
|
||||
visit budgets_path
|
||||
|
||||
within ".map_location" do
|
||||
expect(page).to have_css(".map-icon", count: 4, visible: false)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Display only selected investment's map location from publishing prices phase", :js do
|
||||
budget.update(phase: :publishing_prices)
|
||||
|
||||
investment1 = create(:budget_investment, :selected, heading: heading)
|
||||
investment2 = create(:budget_investment, :selected, heading: heading)
|
||||
investment3 = create(:budget_investment, heading: heading)
|
||||
investment4 = create(:budget_investment, heading: heading)
|
||||
|
||||
investment1.create_map_location(longitude: 40.1234, latitude: 3.1234, zoom: 10)
|
||||
investment2.create_map_location(longitude: 40.1235, latitude: 3.1235, zoom: 10)
|
||||
investment3.create_map_location(longitude: 40.1236, latitude: 3.1236, zoom: 10)
|
||||
investment4.create_map_location(longitude: 40.1240, latitude: 3.1240, zoom: 10)
|
||||
|
||||
visit budgets_path
|
||||
|
||||
within ".map_location" do
|
||||
expect(page).to have_css(".map-icon", count: 2, visible: false)
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Skip invalid map markers", :js do
|
||||
map_locations = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user