|
182 | 182 | expect(Author.includes(:books => :author_name).references(:books)).to preload_values(:first_book_author_name, author_name)
|
183 | 183 | expect(Author.includes(:books => [:author_name]).references(:books)).to preload_values(:first_book_author_name, author_name)
|
184 | 184 | expect(Author.includes(:books => {:author_name => {}}).references(:books)).to preload_values(:first_book_author_name, author_name)
|
185 |
| - end |
186 |
| - |
187 |
| - it "uses preloaded fields" do |
188 |
| - expect(Author.includes(:books => :author_name).references(:books)).to preload_values(:first_book_author_name, author_name) |
189 |
| - expect(Author.includes(:books => [:author_name]).references(:books)).to preload_values(:first_book_author_name, author_name) |
190 |
| - expect(Author.includes(:books => {:author_name => {}}).references(:books)).to preload_values(:first_book_author_name, author_name) |
191 | 185 | inc = Author.virtual_includes(:first_book_author_name)
|
192 | 186 | expect(Author.includes(inc).references(:books)).to preload_values(:first_book_author_name, author_name)
|
193 | 187 | end
|
|
310 | 304 | it "uses included fields" do
|
311 | 305 | expect(preloaded(Author.all.to_a, :books => :author_name)).to preload_values(:first_book_author_name, author_name)
|
312 | 306 | end
|
313 |
| - |
314 |
| - it "uses preloaded fields" do |
315 |
| - expect(preloaded(Author.all.to_a, :books => :author_name)).to preload_values(:first_book_author_name, author_name) |
316 |
| - end |
317 | 307 | end
|
318 | 308 |
|
319 | 309 | context "preloads virtual_reflection with includes" do
|
|
388 | 378 | end
|
389 | 379 | end
|
390 | 380 |
|
| 381 | + describe ".eager_load" do |
| 382 | + it "preloads standard associations (:books)" do |
| 383 | + expect(Author.eager_load(:books)).to preload_values(:first_book_name, book_name) |
| 384 | + expect(Author.eager_load([:books])).to preload_values(:first_book_name, book_name) |
| 385 | + expect(Author.eager_load([[:books]])).to preload_values(:first_book_name, book_name) |
| 386 | + expect(Author.eager_load(:books => {})).to preload_values(:first_book_name, book_name) |
| 387 | + end |
| 388 | + |
| 389 | + it "preloads associations (:uses => :books)" do |
| 390 | + expect(Author.eager_load(:first_book_name)).to preload_values(:first_book_name, book_name) |
| 391 | + expect(Author.eager_load([:first_book_name])).to preload_values(:first_book_name, book_name) |
| 392 | + expect(Author.eager_load([[:first_book_name]])).to preload_values(:first_book_name, book_name) |
| 393 | + expect(Author.eager_load(:first_book_name => {})).to preload_values(:first_book_name, book_name) |
| 394 | + end |
| 395 | + end |
| 396 | + |
| 397 | + describe ".preload" do |
| 398 | + it "preloads standard associations (:books)" do |
| 399 | + expect(Author.preload(:books)).to preload_values(:first_book_name, book_name) |
| 400 | + expect(Author.preload([:books])).to preload_values(:first_book_name, book_name) |
| 401 | + expect(Author.preload([[:books]])).to preload_values(:first_book_name, book_name) |
| 402 | + expect(Author.preload(:books => {})).to preload_values(:first_book_name, book_name) |
| 403 | + end |
| 404 | + |
| 405 | + it "preloads associations (:uses => :books)" do |
| 406 | + expect(Author.preload(:first_book_name)).to preload_values(:first_book_name, book_name) |
| 407 | + expect(Author.preload([:first_book_name])).to preload_values(:first_book_name, book_name) |
| 408 | + expect(Author.preload([[:first_book_name]])).to preload_values(:first_book_name, book_name) |
| 409 | + expect(Author.preload(:first_book_name => {})).to preload_values(:first_book_name, book_name) |
| 410 | + end |
| 411 | + end |
| 412 | + |
391 | 413 | context "preloads virtual_reflection with preloader" do
|
392 | 414 | it "preloads virtual_reflection (:uses => :books)" do
|
393 | 415 | expect(preloaded(Author.all.to_a, :named_books)).to preload_values(:named_books, named_books)
|
394 | 416 | end
|
395 | 417 |
|
| 418 | + it "preloads virtual_reflection ([:books])" do |
| 419 | + expect(preloaded(Author.all.to_a, :books)).to preload_values(:named_books, named_books) |
| 420 | + # NOTE: the next test shows a double preloader call |
| 421 | + expect(preloaded(Author.all.to_a, [:books])).to preload_values(:named_books, named_books) |
| 422 | + expect(preloaded(Author.all.to_a, :books => {})).to preload_values(:named_books, named_books) |
| 423 | + end |
| 424 | + |
396 | 425 | it "preloads virtual_reflection (:uses => {:books => :author_name})" do
|
397 | 426 | expect(preloaded(Author.all.to_a, :books_with_authors)).to preload_values(:books_with_authors, named_books)
|
398 | 427 | end
|
|
0 commit comments