diff --git a/app/controllers/budgets/investments_controller.rb b/app/controllers/budgets/investments_controller.rb index c48ce7fc4..119040e74 100644 --- a/app/controllers/budgets/investments_controller.rb +++ b/app/controllers/budgets/investments_controller.rb @@ -147,6 +147,10 @@ module Budgets TagCloud.new(Budget::Investment, params[:search]) end + def set_view + @view = (params[:view] == "minimal") ? "minimal" : "default" + end + def investments if @current_order == 'random' @investments.apply_filters_and_search(@budget, params, @current_filter) diff --git a/app/views/budgets/investments/_view_mode.html.erb b/app/views/budgets/investments/_view_mode.html.erb new file mode 100644 index 000000000..4ec42fc45 --- /dev/null +++ b/app/views/budgets/investments/_view_mode.html.erb @@ -0,0 +1,30 @@ +
+ + + +
diff --git a/app/views/budgets/investments/index.html.erb b/app/views/budgets/investments/index.html.erb index 258e2855e..a0b4c2ba9 100644 --- a/app/views/budgets/investments/index.html.erb +++ b/app/views/budgets/investments/index.html.erb @@ -50,6 +50,7 @@ <% elsif @heading.present? %>
+ <%= render "view_mode" %>
<% end %> diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb index 6257921dd..f4212b41f 100644 --- a/spec/features/budgets/investments_spec.rb +++ b/spec/features/budgets/investments_spec.rb @@ -43,6 +43,37 @@ feature 'Budget Investments' do end end + scenario 'Index view mode' do + investments = [create(:budget_investment, heading: heading), + create(:budget_investment, heading: heading), + create(:budget_investment, heading: heading)] + + visit budget_path(budget) + click_link 'Health' + + click_button 'View mode' + + click_link 'List' + + investments.each do |investment| + within('#budget-investments') do + expect(page).to have_link investment.title + expect(page).to_not have_content(investment.description) + end + end + + click_button 'View mode' + + click_link 'Cards' + + investments.each do |investment| + within('#budget-investments') do + expect(page).to have_link investment.title + expect(page).to have_content(investment.description) + end + end + end + scenario 'Index should show investment descriptive image only when is defined' do investment = create(:budget_investment, heading: heading) investment_with_image = create(:budget_investment, heading: heading)