Use in_order_of
in trends/*
classes (#33531)
This commit is contained in:
parent
e0f6292492
commit
4f6edc7596
7 changed files with 94 additions and 6 deletions
30
spec/models/trends/links_spec.rb
Normal file
30
spec/models/trends/links_spec.rb
Normal file
|
@ -0,0 +1,30 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
|
||||
RSpec.describe Trends::Links do
|
||||
describe 'Trends::Links::Query' do
|
||||
subject { described_class.new.query }
|
||||
|
||||
describe '#records' do
|
||||
context 'with scored cards' do
|
||||
let!(:higher_score) { Fabricate :preview_card_trend, score: 10, language: 'en' }
|
||||
let!(:lower_score) { Fabricate :preview_card_trend, score: 1, language: 'es' }
|
||||
|
||||
it 'returns higher score first' do
|
||||
expect(subject.records)
|
||||
.to eq([higher_score.preview_card, lower_score.preview_card])
|
||||
end
|
||||
|
||||
context 'with preferred locale' do
|
||||
before { subject.in_locale!('es') }
|
||||
|
||||
it 'returns in language order' do
|
||||
expect(subject.records)
|
||||
.to eq([lower_score.preview_card, higher_score.preview_card])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -45,6 +45,31 @@ RSpec.describe Trends::Statuses do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'Trends::Statuses::Query methods' do
|
||||
subject { described_class.new.query }
|
||||
|
||||
describe '#records' do
|
||||
context 'with scored cards' do
|
||||
let!(:higher_score) { Fabricate :status_trend, score: 10, language: 'en' }
|
||||
let!(:lower_score) { Fabricate :status_trend, score: 1, language: 'es' }
|
||||
|
||||
it 'returns higher score first' do
|
||||
expect(subject.records)
|
||||
.to eq([higher_score.status, lower_score.status])
|
||||
end
|
||||
|
||||
context 'with preferred locale' do
|
||||
before { subject.in_locale!('es') }
|
||||
|
||||
it 'returns in language order' do
|
||||
expect(subject.records)
|
||||
.to eq([lower_score.status, higher_score.status])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#add' do
|
||||
let(:status) { Fabricate(:status) }
|
||||
|
||||
|
|
|
@ -29,6 +29,31 @@ RSpec.describe Trends::Tags do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'Trends::Tags::Query' do
|
||||
subject { described_class.new.query }
|
||||
|
||||
describe '#records' do
|
||||
context 'with scored cards' do
|
||||
let!(:higher_score) { Fabricate :tag_trend, score: 10, language: 'en' }
|
||||
let!(:lower_score) { Fabricate :tag_trend, score: 1, language: 'es' }
|
||||
|
||||
it 'returns higher score first' do
|
||||
expect(subject.records)
|
||||
.to eq([higher_score.tag, lower_score.tag])
|
||||
end
|
||||
|
||||
context 'with preferred locale' do
|
||||
before { subject.in_locale!('es') }
|
||||
|
||||
it 'returns in language order' do
|
||||
expect(subject.records)
|
||||
.to eq([lower_score.tag, higher_score.tag])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#refresh' do
|
||||
let!(:today) { at_time }
|
||||
let!(:yesterday) { today - 1.day }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue