Fix: リモートアカウント情報のNgWord検査でNULLが出る問題 (#541)
* Fix: リモートアカウント情報のNgWord検査でNULLが出る問題 * Add test
This commit is contained in:
parent
5274a399d6
commit
d9b9e66bb5
2 changed files with 29 additions and 2 deletions
|
@ -132,8 +132,8 @@ class ActivityPub::ProcessAccountService < BaseService
|
||||||
end
|
end
|
||||||
|
|
||||||
def valid_account?
|
def valid_account?
|
||||||
display_name = @json['name']
|
display_name = @json['name'] || ''
|
||||||
note = @json['summary']
|
note = @json['summary'] || ''
|
||||||
!Admin::NgWord.reject?(display_name) && !Admin::NgWord.reject?(note)
|
!Admin::NgWord.reject?(display_name) && !Admin::NgWord.reject?(note)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -190,6 +190,33 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when account is using note contains ng words' do
|
||||||
|
subject { described_class.new.call(account.username, account.domain, payload) }
|
||||||
|
|
||||||
|
let!(:account) { Fabricate(:account, username: 'alice', domain: 'example.com') }
|
||||||
|
|
||||||
|
let(:payload) do
|
||||||
|
{
|
||||||
|
id: 'https://foo.test',
|
||||||
|
type: 'Actor',
|
||||||
|
inbox: 'https://foo.test/inbox',
|
||||||
|
name: 'Ohagi',
|
||||||
|
}.with_indifferent_access
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'creates account when ng word is not set' do
|
||||||
|
Setting.ng_words = ['Amazon']
|
||||||
|
subject
|
||||||
|
expect(account.reload.display_name).to eq 'Ohagi'
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does not create account when ng word is set' do
|
||||||
|
Setting.ng_words = ['Ohagi']
|
||||||
|
subject
|
||||||
|
expect(account.reload.display_name).to_not eq 'Ohagi'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'when account is not suspended' do
|
context 'when account is not suspended' do
|
||||||
subject { described_class.new.call('alice', 'example.com', payload) }
|
subject { described_class.new.call('alice', 'example.com', payload) }
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue