diff --git a/app/controllers/admin/homepage_controller.rb b/app/controllers/admin/homepage_controller.rb index a93eb83cd..ff0c51043 100644 --- a/app/controllers/admin/homepage_controller.rb +++ b/app/controllers/admin/homepage_controller.rb @@ -2,6 +2,7 @@ class Admin::HomepageController < Admin::BaseController def show load_header + load_settings load_cards end @@ -14,6 +15,7 @@ class Admin::HomepageController < Admin::BaseController def load_settings settings = /feature.homepage.widgets/ @settings = Setting.select {|setting| setting.key =~ /#{settings}/ } + @settings << Setting.where(key: 'feature.user.recommendations').first end def load_cards diff --git a/spec/features/admin/homepage/homepage_spec.rb b/spec/features/admin/homepage/homepage_spec.rb index 2dda511fd..67623a2ba 100644 --- a/spec/features/admin/homepage/homepage_spec.rb +++ b/spec/features/admin/homepage/homepage_spec.rb @@ -15,6 +15,9 @@ feature 'Homepage' do let(:proposals_setting) { Setting.where(key: 'feature.homepage.widgets.feeds.proposals').first } let(:debates_setting) { Setting.where(key: 'feature.homepage.widgets.feeds.debates').first } let(:processes_setting) { Setting.where(key: 'feature.homepage.widgets.feeds.processes').first } + let(:user_recommendations) { Setting.where(key: 'feature.user.recommendations').first } + let(:user) { create(:user) } + scenario "Header" do end @@ -101,3 +104,23 @@ feature 'Homepage' do expect(page).to have_css("img[alt='#{card2.image.title}']") end end + + scenario "Recomendations" do + proposal1 = create(:proposal, tag_list: "Sport") + proposal2 = create(:proposal, tag_list: "Sport") + create(:follow, followable: proposal1, user: user) + + visit admin_homepage_path + within("#setting_#{user_recommendations.id}") do + click_button "Enable" + end + + expect(page).to have_content "Value updated" + + login_as(user) + visit root_path + + expect(page).to have_content("Recommendations that may interest you") + end + +end \ No newline at end of file