FEATURE: Dismiss new per category (#8330)

Ability to dismiss new topics per category.
This commit is contained in:
Krzysztof Kotlarek
2019-11-14 11:16:13 +11:00
committed by GitHub
parent d095c2cee7
commit 6e1fe22a9d
13 changed files with 135 additions and 34 deletions

View File

@@ -2347,6 +2347,31 @@ RSpec.describe TopicsController do
user.reload
expect(user.user_stat.new_since.to_date).not_to eq(old_date.to_date)
end
context 'category' do
fab!(:category) { Fabricate(:category) }
fab!(:subcategory) { Fabricate(:category, parent_category_id: category.id) }
it 'updates last_seen_at for main category' do
sign_in(user)
category_user = CategoryUser.create!(category_id: category.id, user_id: user.id)
subcategory_user = CategoryUser.create!(category_id: subcategory.id, user_id: user.id)
put "/topics/reset-new.json?category_id=#{category.id}"
expect(category_user.reload.last_seen_at).not_to be_nil
expect(subcategory_user.reload.last_seen_at).to be_nil
end
it 'updates last_seen_at for main category and subcategories' do
sign_in(user)
category_user = CategoryUser.create!(category_id: category.id, user_id: user.id)
subcategory_user = CategoryUser.create!(category_id: subcategory.id, user_id: user.id)
put "/topics/reset-new.json?category_id=#{category.id}&include_subcategories=true"
expect(category_user.reload.last_seen_at).not_to be_nil
expect(subcategory_user.reload.last_seen_at).not_to be_nil
end
end
end
describe '#feature_stats' do