Skip to content

Commit

Permalink
Merge pull request #3318 from consul/backport-refactor_investments_index
Browse files Browse the repository at this point in the history
Show all investments in the map
  • Loading branch information
javierm committed Feb 20, 2019
2 parents 739b88c + facfb80 commit 70a1b7d
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 5 deletions.
12 changes: 7 additions & 5 deletions app/controllers/budgets/investments_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ class InvestmentsController < ApplicationController
include FlagActions
include ImageAttributes

PER_PAGE = 10

before_action :authenticate_user!, except: [:index, :show, :json_data]

load_and_authorize_resource :budget, except: :json_data
Expand Down Expand Up @@ -37,7 +39,7 @@ class InvestmentsController < ApplicationController
respond_to :html, :js

def index
@investments = investments.page(params[:page]).per(10).for_render
@investments = investments.page(params[:page]).per(PER_PAGE).for_render

@investment_ids = @investments.pluck(:id)
@investments_map_coordinates = MapLocation.where(investment: investments).map(&:json_data)
Expand Down Expand Up @@ -167,11 +169,11 @@ def set_view

def investments
if @current_order == 'random'
@investments.apply_filters_and_search(@budget, params, @current_filter)
.send("sort_by_#{@current_order}", params[:random_seed])
@budget.investments.apply_filters_and_search(@budget, params, @current_filter)
.send("sort_by_#{@current_order}", params[:random_seed])
else
@investments.apply_filters_and_search(@budget, params, @current_filter)
.send("sort_by_#{@current_order}")
@budget.investments.apply_filters_and_search(@budget, params, @current_filter)
.send("sort_by_#{@current_order}")
end
end

Expand Down
18 changes: 18 additions & 0 deletions spec/features/budgets/investments_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1874,6 +1874,24 @@ def investments_order
expect(page).to have_css(".map-icon", count: 0, visible: false)
end
end

scenario "Shows all investments and not only the ones on the current page", :js do
stub_const("#{Budgets::InvestmentsController}::PER_PAGE", 2)

3.times do
create(:map_location, investment: create(:budget_investment, heading: heading))
end

visit budget_investments_path(budget, heading_id: heading.id)

within("#budget-investments") do
expect(page).to have_css(".budget-investment", count: 2)
end

within(".map_location") do
expect(page).to have_css(".map-icon", count: 3, visible: false)
end
end
end

end

0 comments on commit 70a1b7d

Please sign in to comment.