mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 16:21:18 +08:00
FIX: Do not change tracked categories for staged users (#10076)
This commit is contained in:
@ -97,8 +97,9 @@ describe Admin::SiteSettingsController do
|
||||
end
|
||||
|
||||
describe 'default categories' do
|
||||
let(:user1) { Fabricate(:user) }
|
||||
let(:user2) { Fabricate(:user) }
|
||||
fab!(:user1) { Fabricate(:user) }
|
||||
fab!(:user2) { Fabricate(:user) }
|
||||
fab!(:staged_user) { Fabricate(:staged) }
|
||||
let(:watching) { NotificationLevels.all[:watching] }
|
||||
let(:tracking) { NotificationLevels.all[:tracking] }
|
||||
|
||||
@ -120,7 +121,7 @@ describe Admin::SiteSettingsController do
|
||||
}
|
||||
|
||||
expect(CategoryUser.where(category_id: category_ids.first, notification_level: watching).count).to eq(0)
|
||||
expect(CategoryUser.where(category_id: category_ids.last, notification_level: watching).count).to eq(User.count - 1)
|
||||
expect(CategoryUser.where(category_id: category_ids.last, notification_level: watching).count).to eq(User.real.where(staged: false).count - 1)
|
||||
end
|
||||
|
||||
it 'should not update existing users user preference' do
|
||||
@ -135,8 +136,9 @@ describe Admin::SiteSettingsController do
|
||||
end
|
||||
|
||||
describe 'default tags' do
|
||||
let(:user1) { Fabricate(:user) }
|
||||
let(:user2) { Fabricate(:user) }
|
||||
fab!(:user1) { Fabricate(:user) }
|
||||
fab!(:user2) { Fabricate(:user) }
|
||||
fab!(:staged_user) { Fabricate(:staged) }
|
||||
let(:watching) { NotificationLevels.all[:watching] }
|
||||
let(:tracking) { NotificationLevels.all[:tracking] }
|
||||
|
||||
@ -158,7 +160,7 @@ describe Admin::SiteSettingsController do
|
||||
}
|
||||
|
||||
expect(TagUser.where(tag_id: tags.first.id, notification_level: watching).count).to eq(0)
|
||||
expect(TagUser.where(tag_id: tags.last.id, notification_level: watching).count).to eq(User.count - 1)
|
||||
expect(TagUser.where(tag_id: tags.last.id, notification_level: watching).count).to eq(User.real.where(staged: false).count - 1)
|
||||
end
|
||||
|
||||
it 'should not update existing users user preference' do
|
||||
@ -173,7 +175,8 @@ describe Admin::SiteSettingsController do
|
||||
end
|
||||
|
||||
describe '#user_count' do
|
||||
let(:user) { Fabricate(:user) }
|
||||
fab!(:user) { Fabricate(:user) }
|
||||
fab!(:staged_user) { Fabricate(:staged) }
|
||||
let(:tracking) { NotificationLevels.all[:tracking] }
|
||||
|
||||
it 'should return correct user count for default categories change' do
|
||||
@ -183,7 +186,7 @@ describe Admin::SiteSettingsController do
|
||||
default_categories_watching: category_id
|
||||
}
|
||||
|
||||
expect(response.parsed_body["user_count"]).to eq(User.count)
|
||||
expect(response.parsed_body["user_count"]).to eq(User.real.where(staged: false).count)
|
||||
|
||||
CategoryUser.create!(category_id: category_id, notification_level: tracking, user: user)
|
||||
|
||||
@ -191,7 +194,7 @@ describe Admin::SiteSettingsController do
|
||||
default_categories_watching: category_id
|
||||
}
|
||||
|
||||
expect(response.parsed_body["user_count"]).to eq(User.count - 1)
|
||||
expect(response.parsed_body["user_count"]).to eq(User.real.where(staged: false).count - 1)
|
||||
|
||||
SiteSetting.setting(:default_categories_watching, "")
|
||||
end
|
||||
@ -203,7 +206,7 @@ describe Admin::SiteSettingsController do
|
||||
default_tags_watching: tag.name
|
||||
}
|
||||
|
||||
expect(response.parsed_body["user_count"]).to eq(User.count)
|
||||
expect(response.parsed_body["user_count"]).to eq(User.real.where(staged: false).count)
|
||||
|
||||
TagUser.create!(tag_id: tag.id, notification_level: tracking, user: user)
|
||||
|
||||
@ -211,7 +214,7 @@ describe Admin::SiteSettingsController do
|
||||
default_tags_watching: tag.name
|
||||
}
|
||||
|
||||
expect(response.parsed_body["user_count"]).to eq(User.count - 1)
|
||||
expect(response.parsed_body["user_count"]).to eq(User.real.where(staged: false).count - 1)
|
||||
|
||||
SiteSetting.setting(:default_tags_watching, "")
|
||||
end
|
||||
|
Reference in New Issue
Block a user