Fix additional issues with status cache hydration (#19747)
* Spare one SQL query when hydrating polls * Improve tests * Fix more discrepancies * Fix possible crash when the status has no application set
This commit is contained in:
parent
03b991de6c
commit
bb89f83cc0
2 changed files with 28 additions and 11 deletions
|
@ -11,8 +11,20 @@ describe StatusCacheHydrator do
|
|||
|
||||
shared_examples 'shared behavior' do
|
||||
context 'when handling a new status' do
|
||||
let(:poll) { Fabricate(:poll) }
|
||||
let(:status) { Fabricate(:status, poll: poll) }
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when handling a new status with own poll' do
|
||||
let(:poll) { Fabricate(:poll, account: account) }
|
||||
let(:status) { Fabricate(:status, poll: poll, account: account) }
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -26,7 +38,7 @@ describe StatusCacheHydrator do
|
|||
end
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -36,7 +48,7 @@ describe StatusCacheHydrator do
|
|||
end
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -48,7 +60,7 @@ describe StatusCacheHydrator do
|
|||
end
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -62,7 +74,7 @@ describe StatusCacheHydrator do
|
|||
end
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -71,7 +83,7 @@ describe StatusCacheHydrator do
|
|||
let(:reblog) { Fabricate(:status, poll: poll, account: account) }
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -84,7 +96,7 @@ describe StatusCacheHydrator do
|
|||
end
|
||||
|
||||
it 'renders the same attributes as a full render' do
|
||||
expect(subject).to include(compare_to_hash)
|
||||
expect(subject).to eql(compare_to_hash)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue