Update rubocop-rspec to version 2.22.0, fix RSpec/IndexedLet
cop (#24698)
This commit is contained in:
@ -11,12 +11,12 @@ RSpec.describe Trends::Statuses do
|
||||
let!(:query) { subject.query }
|
||||
let!(:today) { at_time }
|
||||
|
||||
let!(:status1) { Fabricate(:status, text: 'Foo', language: 'en', trendable: true, created_at: today) }
|
||||
let!(:status2) { Fabricate(:status, text: 'Bar', language: 'en', trendable: true, created_at: today) }
|
||||
let!(:status_foo) { Fabricate(:status, text: 'Foo', language: 'en', trendable: true, created_at: today) }
|
||||
let!(:status_bar) { Fabricate(:status, text: 'Bar', language: 'en', trendable: true, created_at: today) }
|
||||
|
||||
before do
|
||||
default_threshold_value.times { reblog(status1, today) }
|
||||
default_threshold_value.times { reblog(status2, today) }
|
||||
default_threshold_value.times { reblog(status_foo, today) }
|
||||
default_threshold_value.times { reblog(status_bar, today) }
|
||||
|
||||
subject.refresh(today)
|
||||
end
|
||||
@ -29,18 +29,18 @@ RSpec.describe Trends::Statuses do
|
||||
end
|
||||
|
||||
it 'filters out blocked accounts' do
|
||||
account.block!(status1.account)
|
||||
expect(query.filtered_for(account).to_a).to eq [status2]
|
||||
account.block!(status_foo.account)
|
||||
expect(query.filtered_for(account).to_a).to eq [status_bar]
|
||||
end
|
||||
|
||||
it 'filters out muted accounts' do
|
||||
account.mute!(status2.account)
|
||||
expect(query.filtered_for(account).to_a).to eq [status1]
|
||||
account.mute!(status_bar.account)
|
||||
expect(query.filtered_for(account).to_a).to eq [status_foo]
|
||||
end
|
||||
|
||||
it 'filters out blocked-by accounts' do
|
||||
status1.account.block!(account)
|
||||
expect(query.filtered_for(account).to_a).to eq [status2]
|
||||
status_foo.account.block!(account)
|
||||
expect(query.filtered_for(account).to_a).to eq [status_bar]
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -71,14 +71,14 @@ RSpec.describe Trends::Statuses do
|
||||
let!(:today) { at_time }
|
||||
let!(:yesterday) { today - 1.day }
|
||||
|
||||
let!(:status1) { Fabricate(:status, text: 'Foo', language: 'en', trendable: true, created_at: yesterday) }
|
||||
let!(:status2) { Fabricate(:status, text: 'Bar', language: 'en', trendable: true, created_at: today) }
|
||||
let!(:status3) { Fabricate(:status, text: 'Baz', language: 'en', trendable: true, created_at: today) }
|
||||
let!(:status_foo) { Fabricate(:status, text: 'Foo', language: 'en', trendable: true, created_at: yesterday) }
|
||||
let!(:status_bar) { Fabricate(:status, text: 'Bar', language: 'en', trendable: true, created_at: today) }
|
||||
let!(:status_baz) { Fabricate(:status, text: 'Baz', language: 'en', trendable: true, created_at: today) }
|
||||
|
||||
before do
|
||||
default_threshold_value.times { reblog(status1, today) }
|
||||
default_threshold_value.times { reblog(status2, today) }
|
||||
(default_threshold_value - 1).times { reblog(status3, today) }
|
||||
default_threshold_value.times { reblog(status_foo, today) }
|
||||
default_threshold_value.times { reblog(status_bar, today) }
|
||||
(default_threshold_value - 1).times { reblog(status_baz, today) }
|
||||
end
|
||||
|
||||
context 'when status trends are refreshed' do
|
||||
@ -89,17 +89,17 @@ RSpec.describe Trends::Statuses do
|
||||
it 'returns correct statuses from query' do
|
||||
results = subject.query.limit(10).to_a
|
||||
|
||||
expect(results).to eq [status2, status1]
|
||||
expect(results).to_not include(status3)
|
||||
expect(results).to eq [status_bar, status_foo]
|
||||
expect(results).to_not include(status_baz)
|
||||
end
|
||||
end
|
||||
|
||||
it 'decays scores' do
|
||||
subject.refresh(today)
|
||||
original_score = status2.trend.score
|
||||
original_score = status_bar.trend.score
|
||||
expect(original_score).to be_a Float
|
||||
subject.refresh(today + subject.options[:score_halflife])
|
||||
decayed_score = status2.trend.reload.score
|
||||
decayed_score = status_bar.trend.reload.score
|
||||
expect(decayed_score).to be <= original_score / 2
|
||||
end
|
||||
end
|
||||
|
@ -33,15 +33,15 @@ RSpec.describe Trends::Tags do
|
||||
let!(:today) { at_time }
|
||||
let!(:yesterday) { today - 1.day }
|
||||
|
||||
let!(:tag1) { Fabricate(:tag, name: 'Catstodon', trendable: true) }
|
||||
let!(:tag2) { Fabricate(:tag, name: 'DogsOfMastodon', trendable: true) }
|
||||
let!(:tag3) { Fabricate(:tag, name: 'OCs', trendable: true) }
|
||||
let!(:tag_cats) { Fabricate(:tag, name: 'Catstodon', trendable: true) }
|
||||
let!(:tag_dogs) { Fabricate(:tag, name: 'DogsOfMastodon', trendable: true) }
|
||||
let!(:tag_ocs) { Fabricate(:tag, name: 'OCs', trendable: true) }
|
||||
|
||||
before do
|
||||
2.times { |i| subject.add(tag1, i, yesterday) }
|
||||
13.times { |i| subject.add(tag3, i, yesterday) }
|
||||
16.times { |i| subject.add(tag1, i, today) }
|
||||
4.times { |i| subject.add(tag2, i, today) }
|
||||
2.times { |i| subject.add(tag_cats, i, yesterday) }
|
||||
13.times { |i| subject.add(tag_ocs, i, yesterday) }
|
||||
16.times { |i| subject.add(tag_cats, i, today) }
|
||||
4.times { |i| subject.add(tag_dogs, i, today) }
|
||||
end
|
||||
|
||||
context 'when tag trends are refreshed' do
|
||||
@ -51,20 +51,20 @@ RSpec.describe Trends::Tags do
|
||||
end
|
||||
|
||||
it 'calculates and re-calculates scores' do
|
||||
expect(subject.query.limit(10).to_a).to eq [tag1, tag3]
|
||||
expect(subject.query.limit(10).to_a).to eq [tag_cats, tag_ocs]
|
||||
end
|
||||
|
||||
it 'omits hashtags below threshold' do
|
||||
expect(subject.query.limit(10).to_a).to_not include(tag2)
|
||||
expect(subject.query.limit(10).to_a).to_not include(tag_dogs)
|
||||
end
|
||||
end
|
||||
|
||||
it 'decays scores' do
|
||||
subject.refresh(yesterday + 12.hours)
|
||||
original_score = subject.score(tag3.id)
|
||||
original_score = subject.score(tag_ocs.id)
|
||||
expect(original_score).to eq 144.0
|
||||
subject.refresh(yesterday + 12.hours + subject.options[:max_score_halflife])
|
||||
decayed_score = subject.score(tag3.id)
|
||||
decayed_score = subject.score(tag_ocs.id)
|
||||
expect(decayed_score).to be <= original_score / 2
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user