Add homepage configuration for user recomendations
This commit is contained in:
@@ -2,6 +2,7 @@ class Admin::HomepageController < Admin::BaseController
|
|||||||
|
|
||||||
def show
|
def show
|
||||||
load_header
|
load_header
|
||||||
|
load_settings
|
||||||
load_cards
|
load_cards
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -14,6 +15,7 @@ class Admin::HomepageController < Admin::BaseController
|
|||||||
def load_settings
|
def load_settings
|
||||||
settings = /feature.homepage.widgets/
|
settings = /feature.homepage.widgets/
|
||||||
@settings = Setting.select {|setting| setting.key =~ /#{settings}/ }
|
@settings = Setting.select {|setting| setting.key =~ /#{settings}/ }
|
||||||
|
@settings << Setting.where(key: 'feature.user.recommendations').first
|
||||||
end
|
end
|
||||||
|
|
||||||
def load_cards
|
def load_cards
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ feature 'Homepage' do
|
|||||||
let(:proposals_setting) { Setting.where(key: 'feature.homepage.widgets.feeds.proposals').first }
|
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(:debates_setting) { Setting.where(key: 'feature.homepage.widgets.feeds.debates').first }
|
||||||
let(:processes_setting) { Setting.where(key: 'feature.homepage.widgets.feeds.processes').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
|
scenario "Header" do
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -101,3 +104,23 @@ feature 'Homepage' do
|
|||||||
expect(page).to have_css("img[alt='#{card2.image.title}']")
|
expect(page).to have_css("img[alt='#{card2.image.title}']")
|
||||||
end
|
end
|
||||||
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
|
||||||
Reference in New Issue
Block a user