Fix: アンテナに登録された投稿がアンテナ削除時Redisから削除されない問題 (#417)
* Fix: アンテナに登録された投稿がRedisから削除されない問題 * Fix test * Tootctlに変更 * 処理を共通化
This commit is contained in:
parent
e227885d0b
commit
06123147d5
5 changed files with 292 additions and 0 deletions
|
@ -8,12 +8,16 @@ RSpec.describe Vacuum::FeedsVacuum do
|
|||
describe '#perform' do
|
||||
let!(:active_user) { Fabricate(:user, current_sign_in_at: 2.days.ago) }
|
||||
let!(:inactive_user) { Fabricate(:user, current_sign_in_at: 22.days.ago) }
|
||||
let!(:list) { Fabricate(:list, account: inactive_user.account) }
|
||||
let!(:antenna) { Fabricate(:antenna, account: inactive_user.account) }
|
||||
|
||||
before do
|
||||
redis.zadd(feed_key_for(inactive_user), 1, 1)
|
||||
redis.zadd(feed_key_for(active_user), 1, 1)
|
||||
redis.zadd(feed_key_for(inactive_user, 'reblogs'), 2, 2)
|
||||
redis.sadd(feed_key_for(inactive_user, 'reblogs:2'), 3)
|
||||
redis.zadd(list_key_for(list), 1, 1)
|
||||
redis.zadd(antenna_key_for(antenna), 1, 1)
|
||||
|
||||
subject.perform
|
||||
end
|
||||
|
@ -23,10 +27,20 @@ RSpec.describe Vacuum::FeedsVacuum do
|
|||
expect(redis.zcard(feed_key_for(active_user))).to eq 1
|
||||
expect(redis.exists?(feed_key_for(inactive_user, 'reblogs'))).to be false
|
||||
expect(redis.exists?(feed_key_for(inactive_user, 'reblogs:2'))).to be false
|
||||
expect(redis.zcard(list_key_for(list))).to eq 0
|
||||
expect(redis.zcard(antenna_key_for(antenna))).to eq 0
|
||||
end
|
||||
end
|
||||
|
||||
def feed_key_for(user, subtype = nil)
|
||||
FeedManager.instance.key(:home, user.account_id, subtype)
|
||||
end
|
||||
|
||||
def list_key_for(list)
|
||||
FeedManager.instance.key(:list, list.id)
|
||||
end
|
||||
|
||||
def antenna_key_for(antenna)
|
||||
FeedManager.instance.key(:antenna, antenna.id)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue