#13 Turn searchability private if account is silenced
This commit is contained in:
parent
a8f02d0245
commit
a9b22883dc
2 changed files with 11 additions and 1 deletions
|
@ -426,6 +426,7 @@ class Status < ApplicationRecord
|
||||||
def compute_searchability
|
def compute_searchability
|
||||||
local = account.local?
|
local = account.local?
|
||||||
|
|
||||||
|
return 'private' if public_searchability? && account.silenced?
|
||||||
return 'direct' if unsupported_searchability?
|
return 'direct' if unsupported_searchability?
|
||||||
return searchability if local && !searchability.nil?
|
return searchability if local && !searchability.nil?
|
||||||
return 'direct' if local || [:public, :private, :direct, :limited].exclude?(account.searchability.to_sym)
|
return 'direct' if local || [:public, :private, :direct, :limited].exclude?(account.searchability.to_sym)
|
||||||
|
|
|
@ -120,7 +120,8 @@ RSpec.describe Status do
|
||||||
let(:account_searchability) { :public }
|
let(:account_searchability) { :public }
|
||||||
let(:status_searchability) { :public }
|
let(:status_searchability) { :public }
|
||||||
let(:account_domain) { 'example.com' }
|
let(:account_domain) { 'example.com' }
|
||||||
let(:account) { Fabricate(:account, domain: account_domain, searchability: account_searchability) }
|
let(:silenced_at) { nil }
|
||||||
|
let(:account) { Fabricate(:account, domain: account_domain, searchability: account_searchability, silenced_at: silenced_at) }
|
||||||
|
|
||||||
context 'when public-public' do
|
context 'when public-public' do
|
||||||
it 'returns public' do
|
it 'returns public' do
|
||||||
|
@ -128,6 +129,14 @@ RSpec.describe Status do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when public-public but silenced' do
|
||||||
|
let(:silenced_at) { Time.now.utc }
|
||||||
|
|
||||||
|
it 'returns private' do
|
||||||
|
expect(subject.compute_searchability).to eq 'private'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'when public-private' do
|
context 'when public-private' do
|
||||||
let(:status_searchability) { :private }
|
let(:status_searchability) { :private }
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue