Recommendations for users are enabled by default
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
class EnableRecommendationsByDefault < ActiveRecord::Migration
|
||||
def change
|
||||
change_column_default :users, :recommended_debates, true
|
||||
change_column_default :users, :recommended_proposals, true
|
||||
end
|
||||
end
|
||||
@@ -11,7 +11,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20180519132610) do
|
||||
ActiveRecord::Schema.define(version: 20180711224810) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
@@ -1156,8 +1156,8 @@ ActiveRecord::Schema.define(version: 20180519132610) do
|
||||
t.integer "failed_email_digests_count", default: 0
|
||||
t.text "former_users_data_log", default: ""
|
||||
t.boolean "public_interests", default: false
|
||||
t.boolean "recommended_debates", default: false
|
||||
t.boolean "recommended_proposals", default: false
|
||||
t.boolean "recommended_debates", default: true
|
||||
t.boolean "recommended_proposals", default: true
|
||||
end
|
||||
|
||||
add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree
|
||||
|
||||
@@ -189,37 +189,37 @@ feature 'Account' do
|
||||
Setting['feature.user.recommendations_on_proposals'] = nil
|
||||
end
|
||||
|
||||
scenario 'are disabled by default' do
|
||||
scenario 'are enabled by default' do
|
||||
visit account_path
|
||||
|
||||
expect(page).to have_content('Recommendations')
|
||||
expect(page).to have_content('Show debates recommendations')
|
||||
expect(page).to have_content('Show proposals recommendations')
|
||||
expect(find("#account_recommended_debates")).not_to be_checked
|
||||
expect(find("#account_recommended_proposals")).not_to be_checked
|
||||
expect(find("#account_recommended_debates")).to be_checked
|
||||
expect(find("#account_recommended_proposals")).to be_checked
|
||||
end
|
||||
|
||||
scenario "can be enabled through 'My account' page" do
|
||||
scenario "can be disabled through 'My account' page" do
|
||||
visit account_path
|
||||
|
||||
expect(page).to have_content('Recommendations')
|
||||
expect(page).to have_content('Show debates recommendations')
|
||||
expect(page).to have_content('Show proposals recommendations')
|
||||
expect(find("#account_recommended_debates")).not_to be_checked
|
||||
expect(find("#account_recommended_proposals")).not_to be_checked
|
||||
|
||||
check 'account_recommended_debates'
|
||||
check 'account_recommended_proposals'
|
||||
|
||||
click_button 'Save changes'
|
||||
|
||||
expect(find("#account_recommended_debates")).to be_checked
|
||||
expect(find("#account_recommended_proposals")).to be_checked
|
||||
|
||||
uncheck 'account_recommended_debates'
|
||||
uncheck 'account_recommended_proposals'
|
||||
|
||||
click_button 'Save changes'
|
||||
|
||||
expect(find("#account_recommended_debates")).not_to be_checked
|
||||
expect(find("#account_recommended_proposals")).not_to be_checked
|
||||
|
||||
@user.reload
|
||||
|
||||
expect(@user.recommended_debates).to be(true)
|
||||
expect(@user.recommended_proposals).to be(true)
|
||||
expect(@user.recommended_debates).to be(false)
|
||||
expect(@user.recommended_proposals).to be(false)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -411,13 +411,13 @@ feature 'Debates' do
|
||||
Setting['feature.user.recommendations_on_debates'] = nil
|
||||
end
|
||||
|
||||
scenario "Debates can't be ordered by recommendations if there's no logged user" do
|
||||
scenario "can't be sorted if there's no logged user" do
|
||||
visit debates_path
|
||||
expect(page).not_to have_selector('a', text: 'recommendations')
|
||||
end
|
||||
|
||||
scenario 'Show recommended debates on index header when user has recommendations enabled' do
|
||||
user = create(:user, recommended_debates: true)
|
||||
scenario 'are shown on index header when account setting is enabled' do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -431,8 +431,8 @@ feature 'Debates' do
|
||||
expect(page).to have_link 'See more recommendations'
|
||||
end
|
||||
|
||||
scenario 'Should display text when there are not recommended results' do
|
||||
user = create(:user, recommended_debates: true)
|
||||
scenario 'should display text when there are no results' do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Distinct_to_sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -444,8 +444,8 @@ feature 'Debates' do
|
||||
expect(page).to have_content 'There are not debates related to your interests'
|
||||
end
|
||||
|
||||
scenario 'Should display text when user has not related interests' do
|
||||
user = create(:user, recommended_debates: true)
|
||||
scenario 'should display text when user has no related interests' do
|
||||
user = create(:user)
|
||||
|
||||
login_as(user)
|
||||
visit debates_path
|
||||
@@ -455,8 +455,8 @@ feature 'Debates' do
|
||||
expect(page).to have_content 'Follow proposals so we can give you recommendations'
|
||||
end
|
||||
|
||||
scenario "Debates are ordered by recommendations when there's an user logged" do
|
||||
user = create(:user, recommended_debates: true)
|
||||
scenario "can be sorted when there's a logged user" do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -476,8 +476,8 @@ feature 'Debates' do
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'are not shown if user does not have recommendations enabled' do
|
||||
user = create(:user)
|
||||
scenario 'are not shown if account setting is disabled' do
|
||||
user = create(:user, recommended_debates: false)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -488,8 +488,8 @@ feature 'Debates' do
|
||||
expect(page).not_to have_link('recommendations')
|
||||
end
|
||||
|
||||
scenario 'Recommendations shown in index are dismissable', :js do
|
||||
user = create(:user, recommended_debates: true)
|
||||
scenario 'shown on index header are dismissable', :js do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
|
||||
@@ -735,13 +735,13 @@ feature 'Proposals' do
|
||||
Setting['feature.user.recommendations_on_proposals'] = nil
|
||||
end
|
||||
|
||||
scenario "Proposals can't be ordered by recommendations if there's no logged user" do
|
||||
scenario "can't be sorted if there's no logged user" do
|
||||
visit proposals_path
|
||||
expect(page).not_to have_selector('a', text: 'recommendations')
|
||||
end
|
||||
|
||||
scenario 'Show recommended proposals on index header when user has recommendations enabled' do
|
||||
user = create(:user, recommended_proposals: true)
|
||||
scenario 'are shown on index header when account setting is enabled' do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -755,8 +755,8 @@ feature 'Proposals' do
|
||||
expect(page).to have_link 'See more recommendations'
|
||||
end
|
||||
|
||||
scenario 'Should display text when there are not recommended results' do
|
||||
user = create(:user, recommended_proposals: true)
|
||||
scenario 'should display text when there are no results' do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Distinct_to_sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -768,8 +768,8 @@ feature 'Proposals' do
|
||||
expect(page).to have_content 'There are not proposals related to your interests'
|
||||
end
|
||||
|
||||
scenario 'Should display text when user has not related interests' do
|
||||
user = create(:user, recommended_proposals: true)
|
||||
scenario 'should display text when user has no related interests' do
|
||||
user = create(:user)
|
||||
|
||||
login_as(user)
|
||||
visit proposals_path
|
||||
@@ -779,8 +779,8 @@ feature 'Proposals' do
|
||||
expect(page).to have_content 'Follow proposals so we can give you recommendations'
|
||||
end
|
||||
|
||||
scenario "Proposals are ordered by recommendations when there's an user logged" do
|
||||
user = create(:user, recommended_proposals: true)
|
||||
scenario "can be sorted when there's a logged user" do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -800,8 +800,8 @@ feature 'Proposals' do
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
scenario 'are not shown if user does not have recommendations enabled' do
|
||||
user = create(:user)
|
||||
scenario 'are not shown if account setting is disabled' do
|
||||
user = create(:user, recommended_proposals: false)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
@@ -812,8 +812,8 @@ feature 'Proposals' do
|
||||
expect(page).not_to have_link('recommendations')
|
||||
end
|
||||
|
||||
scenario 'Recommendations shown in index are dismissable', :js do
|
||||
user = create(:user, recommended_proposals: true)
|
||||
scenario 'shown on index header are dismissable', :js do
|
||||
user = create(:user)
|
||||
proposal = create(:proposal, tag_list: 'Sport')
|
||||
create(:follow, followable: proposal, user: user)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user