mirror of
https://github.com/mastodon/mastodon.git
synced 2025-02-06 06:55:04 +00:00
Fix filtering for lists (#33842)
This commit is contained in:
parent
1be5269151
commit
334d306ccc
|
@ -42,7 +42,7 @@ class FeedManager
|
||||||
when :home
|
when :home
|
||||||
filter_from_home(status, receiver.id, build_crutches(receiver.id, [status]), :home)
|
filter_from_home(status, receiver.id, build_crutches(receiver.id, [status]), :home)
|
||||||
when :list
|
when :list
|
||||||
(filter_from_list?(status, receiver) ? :filter : nil) || filter_from_home(status, receiver.account_id, build_crutches(receiver.account_id, [status], list: list), :list)
|
(filter_from_list?(status, receiver) ? :filter : nil) || filter_from_home(status, receiver.account_id, build_crutches(receiver.account_id, [status], list: receiver), :list)
|
||||||
when :mentions
|
when :mentions
|
||||||
filter_from_mentions?(status, receiver.id) ? :filter : nil
|
filter_from_mentions?(status, receiver.id) ? :filter : nil
|
||||||
when :tags
|
when :tags
|
||||||
|
|
|
@ -196,6 +196,28 @@ RSpec.describe FeedManager do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with list feed' do
|
||||||
|
let(:list) { Fabricate(:list, account: bob) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
bob.follow!(alice)
|
||||||
|
list.list_accounts.create!(account: alice)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns false for followee's status" do
|
||||||
|
status = Fabricate(:status, text: 'Hello world', account: alice)
|
||||||
|
|
||||||
|
expect(subject.filter?(:list, status, list)).to be false
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns false for reblog by followee' do
|
||||||
|
status = Fabricate(:status, text: 'Hello world', account: jeff)
|
||||||
|
reblog = Fabricate(:status, reblog: status, account: alice)
|
||||||
|
|
||||||
|
expect(subject.filter?(:list, reblog, list)).to be false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'with mentions feed' do
|
context 'with mentions feed' do
|
||||||
it 'returns true for status that mentions blocked account' do
|
it 'returns true for status that mentions blocked account' do
|
||||||
bob.block!(jeff)
|
bob.block!(jeff)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user