diff options
author | Heitor de Melo Cardozo <heitor711n@gmail.com> | 2023-04-17 09:16:36 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-17 14:16:36 +0200 |
commit | bc75e62ca6e16d3dad43fd35ccca335de547cfb3 (patch) | |
tree | e156d5585a38d753fa793fe5afb63172b8090ec3 | |
parent | ab740f464a8e5aa6b5f78c0ddab3c8e18698d810 (diff) |
Change moderation search an account using the username with @ (#24242)
-rw-r--r-- | app/models/account_filter.rb | 2 | ||||
-rw-r--r-- | spec/models/account_filter_spec.rb | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/app/models/account_filter.rb b/app/models/account_filter.rb index 1666ea883..55d34e85c 100644 --- a/app/models/account_filter.rb +++ b/app/models/account_filter.rb @@ -55,7 +55,7 @@ class AccountFilter when 'by_domain' Account.where(domain: value.to_s.strip) when 'username' - Account.matches_username(value.to_s.strip) + Account.matches_username(value.to_s.strip.delete_prefix('@')) when 'display_name' Account.matches_display_name(value.to_s.strip) when 'email' diff --git a/spec/models/account_filter_spec.rb b/spec/models/account_filter_spec.rb index 3032260fe..cb00e7609 100644 --- a/spec/models/account_filter_spec.rb +++ b/spec/models/account_filter_spec.rb @@ -44,4 +44,23 @@ describe AccountFilter do expect(filter.results).to match_array [remote_account_one] end end + + describe 'with username' do + let!(:local_account) { Fabricate(:account, domain: nil, username: 'validUserName') } + + it 'works with @ at the beginning of the username' do + filter = described_class.new(username: '@validUserName') + expect(filter.results).to match_array [local_account] + end + + it 'does not work with more than one @ at the beginning of the username' do + filter = described_class.new(username: '@@validUserName') + expect(filter.results).to_not match_array [local_account] + end + + it 'does not work with @ outside the beginning of the username' do + filter = described_class.new(username: 'validUserName@') + expect(filter.results).to_not match_array [local_account] + end + end end |