Only preload accounts in Collections when needed (#39143)
This commit is contained in:
1 parent
ae8b794c66
commit
dee85c6df9
4 files changed
+33
-7
No files matched your search
@@ -124,6 +124,28 @@ RSpec.describe Collection do
|
||||
expect(subject.items_for(account)).to match_array(accepted_items + [pending_item])
|
||||
end
|
||||
end
|
||||
|
||||
context 'when `include_accounts` is set to `true`' do
|
||||
it 'preloads accounts' do
|
||||
items = subject.items_for(include_accounts: true).to_a
|
||||
|
||||
expect { items.first.account }.to_not execute_queries
|
||||
end
|
||||
end
|
||||
|
||||
context 'when called multiple times' do
|
||||
let(:account) { subject.account }
|
||||
|
||||
it 'memoizes results' do
|
||||
subject.items_for.to_a
|
||||
|
||||
expect { subject.items_for.to_a }.to_not execute_queries
|
||||
|
||||
expect { subject.items_for(account).to_a }.to execute_queries
|
||||
|
||||
expect { subject.items_for(account).to_a }.to_not execute_queries
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#tag_name=' do
|
||||
|
||||
Reference in new issue
Block a user