0
0
Fork 0

Add coverage for Tag.recently_used scope (#28850)

This commit is contained in:
Matt Jankowski 2024-01-23 04:10:11 -05:00 committed by GitHub
parent defe5f4076
commit b0207d7757
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 35 additions and 1 deletions

View file

@ -100,6 +100,38 @@ RSpec.describe Tag do
end
end
describe '.recently_used' do
let(:account) { Fabricate(:account) }
let(:other_person_status) { Fabricate(:status) }
let(:out_of_range) { Fabricate(:status, account: account) }
let(:older_in_range) { Fabricate(:status, account: account) }
let(:newer_in_range) { Fabricate(:status, account: account) }
let(:unused_tag) { Fabricate(:tag) }
let(:used_tag_one) { Fabricate(:tag) }
let(:used_tag_two) { Fabricate(:tag) }
let(:used_tag_on_out_of_range) { Fabricate(:tag) }
before do
stub_const 'Tag::RECENT_STATUS_LIMIT', 2
other_person_status.tags << used_tag_one
out_of_range.tags << used_tag_on_out_of_range
older_in_range.tags << used_tag_one
older_in_range.tags << used_tag_two
newer_in_range.tags << used_tag_one
end
it 'returns tags used by account within last X statuses ordered most used first' do
results = described_class.recently_used(account)
expect(results)
.to eq([used_tag_one, used_tag_two])
end
end
describe '.find_normalized' do
it 'returns tag for a multibyte case-insensitive name' do
upcase_string = 'abcABCやゆよ'