Fix: #703 NGワード、センシティブワード「無関係なフォロワーへのメンション」が、自分自身へのメンションにも適用される (#704)

This commit is contained in:
KMY(雪あすか) 2024-04-09 09:02:50 +09:00 committed by KMY
parent 13e5eed811
commit e53c6b13eb
4 changed files with 35 additions and 6 deletions

View file

@ -663,6 +663,18 @@ RSpec.describe PostStatusService, type: :service do
expect(status.text).to eq text
end
it 'does not hit ng words for mention to self' do
account = Fabricate(:account, username: 'cool', domain: nil)
text = 'ng word test @cool'
Form::AdminSettings.new(stranger_mention_from_local_ng: '1').save
Fabricate(:ng_word, keyword: 'test', stranger: true)
status = subject.call(account, text: text)
expect(status).to be_persisted
expect(status.text).to eq text
end
it 'hit ng words for reply' do
account = Fabricate(:account)
text = 'ng word test'
@ -721,6 +733,19 @@ RSpec.describe PostStatusService, type: :service do
expect(status.text).to eq text
end
it 'does not hit ng words for reference to self' do
target_status = Fabricate(:status)
account = target_status.account
text = "ng word test BT: #{ActivityPub::TagManager.instance.uri_for(target_status)}"
Form::AdminSettings.new(stranger_mention_from_local_ng: '1').save
Fabricate(:ng_word, keyword: 'test', stranger: true)
status = subject.call(account, text: text)
expect(status).to be_persisted
expect(status.text).to eq text
end
it 'using hashtag under limit' do
account = Fabricate(:account)
text = '#a #b'