mirror of
https://github.com/discourse/discourse.git
synced 2025-04-17 09:51:30 +08:00
FIX: Should not include regular categories in top_category_ids array
This commit is contained in:
parent
8d1acbd4c2
commit
50df2d7241
@ -158,8 +158,9 @@ class CurrentUserSerializer < BasicUserSerializer
|
||||
end
|
||||
|
||||
def top_category_ids
|
||||
omitted_notification_levels = [CategoryUser.notification_levels[:muted], CategoryUser.notification_levels[:regular]]
|
||||
CategoryUser.where(user_id: object.id)
|
||||
.where.not(notification_level: CategoryUser.notification_levels[:muted])
|
||||
.where.not(notification_level: omitted_notification_levels)
|
||||
.order("
|
||||
CASE
|
||||
WHEN notification_level = 3 THEN 1
|
||||
|
@ -37,6 +37,7 @@ RSpec.describe CurrentUserSerializer do
|
||||
let(:user) { Fabricate(:user) }
|
||||
let(:category1) { Fabricate(:category) }
|
||||
let(:category2) { Fabricate(:category) }
|
||||
let(:category3) { Fabricate(:category) }
|
||||
let :serializer do
|
||||
CurrentUserSerializer.new(user, scope: Guardian.new, root: false)
|
||||
end
|
||||
@ -55,6 +56,11 @@ RSpec.describe CurrentUserSerializer do
|
||||
CategoryUser.create!(user_id: user.id,
|
||||
category_id: category2.id,
|
||||
notification_level: CategoryUser.notification_levels[:watching])
|
||||
|
||||
CategoryUser.create!(user_id: user.id,
|
||||
category_id: category3.id,
|
||||
notification_level: CategoryUser.notification_levels[:regular])
|
||||
|
||||
payload = serializer.as_json
|
||||
expect(payload[:top_category_ids]).to eq([category2.id, category1.id])
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user