end
def filtered?
- account_present? && filtered_status?
+ blocked_by_policy? || (account_present? && filtered_status?) || silenced_account?
end
private
end
def filtered_status?
- blocking_account? || blocking_domain? || muting_account? || silenced_account? || blocked_by_policy?
+ blocking_account? || blocking_domain? || muting_account?
end
def blocking_account?
end
def account_following_status_account?
- account.following? status.account_id
+ account&.following? status.account_id
end
def blocked_by_policy?
context 'without an account' do
subject { described_class.new(status, nil) }
- it { is_expected.not_to be_filtered }
+ context 'when there are no connections' do
+ it { is_expected.not_to be_filtered }
+ end
+
+ context 'when status account is silenced' do
+ before do
+ status.account.update(silenced: true)
+ end
+
+ it { is_expected.to be_filtered }
+ end
+
+ context 'when status policy does not allow show' do
+ before do
+ expect_any_instance_of(StatusPolicy).to receive(:show?).and_return(false)
+ end
+
+ it { is_expected.to be_filtered }
+ end
end
context 'with real account' do