Ticket #8726: utilize_collection_fixtures_in_tests.patch
| File utilize_collection_fixtures_in_tests.patch, 19.4 kB (added by kamal, 2 years ago) |
|---|
-
activerecord/test/mixin_test.rb
old new 25 25 fixtures :mixins 26 26 27 27 def test_reordering 28 assert_equal [mixins(:list_1), 29 mixins(:list_2), 30 mixins(:list_3), 31 mixins(:list_4)], 28 assert_equal mixins(:list_1, :list_2, :list_3, :list_4), 32 29 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 33 30 34 31 mixins(:list_2).move_lower 35 32 36 assert_equal [mixins(:list_1), 37 mixins(:list_3), 38 mixins(:list_2), 39 mixins(:list_4)], 33 assert_equal mixins(:list_1, :list_3, :list_2, :list_4), 40 34 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 41 35 42 36 mixins(:list_2).move_higher 43 37 44 assert_equal [mixins(:list_1), 45 mixins(:list_2), 46 mixins(:list_3), 47 mixins(:list_4)], 38 assert_equal mixins(:list_1, :list_2, :list_3, :list_4), 48 39 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 49 40 50 41 mixins(:list_1).move_to_bottom 51 42 52 assert_equal [mixins(:list_2), 53 mixins(:list_3), 54 mixins(:list_4), 55 mixins(:list_1)], 43 assert_equal mixins(:list_2, :list_3, :list_4, :list_1), 56 44 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 57 45 58 46 mixins(:list_1).move_to_top 59 47 60 assert_equal [mixins(:list_1), 61 mixins(:list_2), 62 mixins(:list_3), 63 mixins(:list_4)], 48 assert_equal mixins(:list_1, :list_2, :list_3, :list_4), 64 49 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 65 50 66 51 67 52 mixins(:list_2).move_to_bottom 68 53 69 assert_equal [mixins(:list_1), 70 mixins(:list_3), 71 mixins(:list_4), 72 mixins(:list_2)], 54 assert_equal mixins(:list_1, :list_3, :list_4, :list_2), 73 55 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 74 56 75 57 mixins(:list_4).move_to_top 76 58 77 assert_equal [mixins(:list_4), 78 mixins(:list_1), 79 mixins(:list_3), 80 mixins(:list_2)], 59 assert_equal mixins(:list_4, :list_1, :list_3, :list_2), 81 60 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 82 61 83 62 end 84 63 85 64 def test_move_to_bottom_with_next_to_last_item 86 assert_equal [mixins(:list_1), 87 mixins(:list_2), 88 mixins(:list_3), 89 mixins(:list_4)], 65 assert_equal mixins(:list_1, :list_2, :list_3, :list_4), 90 66 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 91 67 92 68 mixins(:list_3).move_to_bottom 93 69 94 assert_equal [mixins(:list_1), 95 mixins(:list_2), 96 mixins(:list_4), 97 mixins(:list_3)], 70 assert_equal mixins(:list_1, :list_2, :list_4, :list_3), 98 71 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 99 72 end 100 73 … … 170 143 end 171 144 172 145 def test_delete_middle 173 assert_equal [mixins(:list_1), 174 mixins(:list_2), 175 mixins(:list_3), 176 mixins(:list_4)], 146 assert_equal mixins(:list_1, :list_2, :list_3, :list_4), 177 147 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 178 148 179 149 mixins(:list_2).destroy 180 150 181 assert_equal [mixins(:list_1, :reload), 182 mixins(:list_3, :reload), 183 mixins(:list_4, :reload)], 151 assert_equal mixins(:list_1, :list_3, :list_4, :reload), 184 152 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 185 153 186 154 assert_equal 1, mixins(:list_1).pos … … 189 157 190 158 mixins(:list_1).destroy 191 159 192 assert_equal [mixins(:list_3, :reload), 193 mixins(:list_4, :reload)], 160 assert_equal mixins(:list_3, :list_4, :reload), 194 161 ListMixin.find(:all, :conditions => 'parent_id = 5', :order => 'pos') 195 162 196 163 assert_equal 1, mixins(:list_3).pos … … 226 193 end 227 194 228 195 def test_children 229 assert_equal mixins(:tree_1).children, [mixins(:tree_2), mixins(:tree_4)]196 assert_equal mixins(:tree_1).children, mixins(:tree_2, :tree_4) 230 197 assert_equal mixins(:tree_2).children, [mixins(:tree_3)] 231 198 assert_equal mixins(:tree_3).children, [] 232 199 assert_equal mixins(:tree_4).children, [] … … 272 239 def test_ancestors 273 240 assert_equal [], mixins(:tree_1).ancestors 274 241 assert_equal [mixins(:tree_1)], mixins(:tree_2).ancestors 275 assert_equal [mixins(:tree_2), mixins(:tree_1)], mixins(:tree_3).ancestors242 assert_equal mixins(:tree_2, :tree_1), mixins(:tree_3).ancestors 276 243 assert_equal [mixins(:tree_1)], mixins(:tree_4).ancestors 277 244 assert_equal [], mixins(:tree2_1).ancestors 278 245 assert_equal [], mixins(:tree3_1).ancestors … … 289 256 end 290 257 291 258 def test_roots 292 assert_equal [mixins(:tree_1), mixins(:tree2_1), mixins(:tree3_1)], TreeMixin.roots259 assert_equal mixins(:tree_1, :tree2_1, :tree3_1), TreeMixin.roots 293 260 end 294 261 295 262 def test_siblings 296 assert_equal [mixins(:tree2_1), mixins(:tree3_1)], mixins(:tree_1).siblings263 assert_equal mixins(:tree2_1, :tree3_1), mixins(:tree_1).siblings 297 264 assert_equal [mixins(:tree_4)], mixins(:tree_2).siblings 298 265 assert_equal [], mixins(:tree_3).siblings 299 266 assert_equal [mixins(:tree_2)], mixins(:tree_4).siblings 300 assert_equal [mixins(:tree_1), mixins(:tree3_1)], mixins(:tree2_1).siblings301 assert_equal [mixins(:tree_1), mixins(:tree2_1)], mixins(:tree3_1).siblings267 assert_equal mixins(:tree_1, :tree3_1), mixins(:tree2_1).siblings 268 assert_equal mixins(:tree_1, :tree2_1), mixins(:tree3_1).siblings 302 269 end 303 270 304 271 def test_self_and_siblings 305 assert_equal [mixins(:tree_1), mixins(:tree2_1), mixins(:tree3_1)], mixins(:tree_1).self_and_siblings306 assert_equal [mixins(:tree_2), mixins(:tree_4)], mixins(:tree_2).self_and_siblings272 assert_equal mixins(:tree_1, :tree2_1, :tree3_1), mixins(:tree_1).self_and_siblings 273 assert_equal mixins(:tree_2, :tree_4), mixins(:tree_2).self_and_siblings 307 274 assert_equal [mixins(:tree_3)], mixins(:tree_3).self_and_siblings 308 assert_equal [mixins(:tree_2), mixins(:tree_4)], mixins(:tree_4).self_and_siblings309 assert_equal [mixins(:tree_1), mixins(:tree2_1), mixins(:tree3_1)], mixins(:tree2_1).self_and_siblings310 assert_equal [mixins(:tree_1), mixins(:tree2_1), mixins(:tree3_1)], mixins(:tree3_1).self_and_siblings275 assert_equal mixins(:tree_2, :tree_4), mixins(:tree_4).self_and_siblings 276 assert_equal mixins(:tree_1, :tree2_1, :tree3_1), mixins(:tree2_1).self_and_siblings 277 assert_equal mixins(:tree_1, :tree2_1, :tree3_1), mixins(:tree3_1).self_and_siblings 311 278 end 312 279 end 313 280 … … 315 282 fixtures :mixins 316 283 317 284 def test_root 318 assert [mixins(:tree_without_order_1), mixins(:tree_without_order_2)].include?(TreeMixinWithoutOrder.root)285 assert mixins(:tree_without_order_1, :tree_without_order_2).include?(TreeMixinWithoutOrder.root) 319 286 end 320 287 321 288 def test_roots 322 assert_equal [], [mixins(:tree_without_order_1), mixins(:tree_without_order_2)]- TreeMixinWithoutOrder.roots289 assert_equal [], mixins(:tree_without_order_1, :tree_without_order_2) - TreeMixinWithoutOrder.roots 323 290 end 324 291 end 325 292 … … 394 361 fixtures :mixins 395 362 396 363 def test_reordering 397 assert_equal [mixins(:list_sub_1), 398 mixins(:list_sub_2), 399 mixins(:list_sub_3), 400 mixins(:list_sub_4)], 364 assert_equal mixins(:list_sub_1, :list_sub_2, :list_sub_3, :list_sub_4), 401 365 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 402 366 403 367 mixins(:list_sub_2).move_lower 404 368 405 assert_equal [mixins(:list_sub_1), 406 mixins(:list_sub_3), 407 mixins(:list_sub_2), 408 mixins(:list_sub_4)], 369 assert_equal mixins(:list_sub_1, :list_sub_3, :list_sub_2, :list_sub_4), 409 370 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 410 371 411 372 mixins(:list_sub_2).move_higher 412 373 413 assert_equal [mixins(:list_sub_1), 414 mixins(:list_sub_2), 415 mixins(:list_sub_3), 416 mixins(:list_sub_4)], 374 assert_equal mixins(:list_sub_1, :list_sub_2, :list_sub_3, :list_sub_4), 417 375 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 418 376 419 377 mixins(:list_sub_1).move_to_bottom 420 378 421 assert_equal [mixins(:list_sub_2), 422 mixins(:list_sub_3), 423 mixins(:list_sub_4), 424 mixins(:list_sub_1)], 379 assert_equal mixins(:list_sub_2, :list_sub_3, :list_sub_4, :list_sub_1), 425 380 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 426 381 427 382 mixins(:list_sub_1).move_to_top 428 383 429 assert_equal [mixins(:list_sub_1), 430 mixins(:list_sub_2), 431 mixins(:list_sub_3), 432 mixins(:list_sub_4)], 384 assert_equal mixins(:list_sub_1, :list_sub_2, :list_sub_3, :list_sub_4), 433 385 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 434 386 435 387 436 388 mixins(:list_sub_2).move_to_bottom 437 389 438 assert_equal [mixins(:list_sub_1), 439 mixins(:list_sub_3), 440 mixins(:list_sub_4), 441 mixins(:list_sub_2)], 390 assert_equal mixins(:list_sub_1, :list_sub_3, :list_sub_4, :list_sub_2), 442 391 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 443 392 444 393 mixins(:list_sub_4).move_to_top 445 394 446 assert_equal [mixins(:list_sub_4), 447 mixins(:list_sub_1), 448 mixins(:list_sub_3), 449 mixins(:list_sub_2)], 395 assert_equal mixins(:list_sub_4, :list_sub_1, :list_sub_3, :list_sub_2), 450 396 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 451 397 452 398 end 453 399 454 400 def test_move_to_bottom_with_next_to_last_item 455 assert_equal [mixins(:list_sub_1), 456 mixins(:list_sub_2), 457 mixins(:list_sub_3), 458 mixins(:list_sub_4)], 401 assert_equal mixins(:list_sub_1, :list_sub_2, :list_sub_3, :list_sub_4), 459 402 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 460 403 461 404 mixins(:list_sub_3).move_to_bottom 462 405 463 assert_equal [mixins(:list_sub_1), 464 mixins(:list_sub_2), 465 mixins(:list_sub_4), 466 mixins(:list_sub_3)], 406 assert_equal mixins(:list_sub_1, :list_sub_2, :list_sub_4, :list_sub_3), 467 407 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 468 408 end 469 409 … … 518 458 end 519 459 520 460 def test_delete_middle 521 assert_equal [mixins(:list_sub_1), 522 mixins(:list_sub_2), 523 mixins(:list_sub_3), 524 mixins(:list_sub_4)], 461 assert_equal mixins(:list_sub_1, :list_sub_2, :list_sub_3, :list_sub_4), 525 462 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 526 463 527 464 mixins(:list_sub_2).destroy 528 465 529 assert_equal [mixins(:list_sub_1, :reload), 530 mixins(:list_sub_3, :reload), 531 mixins(:list_sub_4, :reload)], 466 assert_equal mixins(:list_sub_1, :list_sub_3, :list_sub_4, :reload), 532 467 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 533 468 534 469 assert_equal 1, mixins(:list_sub_1).pos … … 537 472 538 473 mixins(:list_sub_1).destroy 539 474 540 assert_equal [mixins(:list_sub_3, :reload), 541 mixins(:list_sub_4, :reload)], 475 assert_equal mixins(:list_sub_3, :list_sub_4, :reload), 542 476 ListMixin.find(:all, :conditions => 'parent_id = 5000', :order => 'pos') 543 477 544 478 assert_equal 1, mixins(:list_sub_3).pos -
activerecord/test/associations_test.rb
old new 950 950 951 951 core = companies(:rails_core) 952 952 assert_equal accounts(:rails_core_account), core.account 953 assert_equal [companies(:leetsoft), companies(:jadedpixel)], core.companies953 assert_equal companies(:leetsoft, :jadedpixel), core.companies 954 954 core.destroy 955 955 assert_nil accounts(:rails_core_account).reload.firm_id 956 956 assert_nil companies(:leetsoft).reload.client_of … … 984 984 985 985 def test_replace_with_new 986 986 firm = Firm.find(:first) 987 new_client = Client.new("name" => "New Client") 988 firm.clients = [companies(:second_client),new_client] 987 firm.clients = [companies(:second_client), Client.new("name" => "New Client")] 989 988 firm.save 990 989 firm.reload 991 990 assert_equal 2, firm.clients.length … … 1509 1508 end 1510 1509 1511 1510 def test_habtm_unique_order_preserved 1512 assert_equal [developers(:poor_jamis), developers(:jamis), developers(:david)], projects(:active_record).non_unique_developers1513 assert_equal [developers(:poor_jamis), developers(:jamis), developers(:david)], projects(:active_record).developers1511 assert_equal developers(:poor_jamis, :jamis, :david), projects(:active_record).non_unique_developers 1512 assert_equal developers(:poor_jamis, :jamis, :david), projects(:active_record).developers 1514 1513 end 1515 1514 1516 1515 def test_build … … 1791 1790 end 1792 1791 1793 1792 def test_get_ids 1794 assert_equal [projects(:active_record).id, projects(:action_controller).id], developers(:david).project_ids1793 assert_equal projects(:active_record, :action_controller).map(&:id), developers(:david).project_ids 1795 1794 assert_equal [projects(:active_record).id], developers(:jamis).project_ids 1796 1795 end 1797 1796 1798 1797 def test_assign_ids 1799 1798 developer = Developer.new("name" => "Joe") 1800 developer.project_ids = [projects(:active_record).id, projects(:action_controller).id]1799 developer.project_ids = projects(:active_record, :action_controller).map(&:id) 1801 1800 developer.save 1802 1801 developer.reload 1803 1802 assert_equal 2, developer.projects.length -
activerecord/test/associations/join_model_test.rb
old new 294 294 295 295 def test_has_many_polymorphic 296 296 assert_raises ActiveRecord::HasManyThroughAssociationPolymorphicError do 297 assert_equal [posts(:welcome), posts(:thinking)], tags(:general).taggables297 assert_equal posts(:welcome, :thinking), tags(:general).taggables 298 298 end 299 299 assert_raises ActiveRecord::EagerLoadPolymorphicError do 300 assert_equal [posts(:welcome), posts(:thinking)], tags(:general).taggings.find(:all, :include => :taggable)300 assert_equal posts(:welcome, :thinking), tags(:general).taggings.find(:all, :include => :taggable) 301 301 end 302 302 end 303 303 304 304 def test_has_many_polymorphic_with_source_type 305 assert_equal [posts(:welcome), posts(:thinking)], tags(:general).tagged_posts305 assert_equal posts(:welcome, :thinking), tags(:general).tagged_posts 306 306 end 307 307 308 308 def test_eager_has_many_polymorphic_with_source_type 309 309 tag_with_include = Tag.find(tags(:general).id, :include => :tagged_posts) 310 desired = [posts(:welcome), posts(:thinking)]310 desired = posts(:welcome, :thinking) 311 311 assert_no_queries do 312 312 assert_equal desired, tag_with_include.tagged_posts 313 313 end … … 339 339 end 340 340 341 341 def test_has_many_through_polymorphic_has_many 342 assert_equal [taggings(:welcome_general), taggings(:thinking_general)], authors(:david).taggings.uniq.sort_by { |t| t.id }342 assert_equal taggings(:welcome_general, :thinking_general), authors(:david).taggings.uniq.sort_by { |t| t.id } 343 343 end 344 344 345 345 def test_include_has_many_through_polymorphic_has_many 346 346 author = Author.find_by_id(authors(:david).id, :include => :taggings) 347 expected_taggings = [taggings(:welcome_general), taggings(:thinking_general)]347 expected_taggings = taggings(:welcome_general, :thinking_general) 348 348 assert_no_queries do 349 349 assert_equal expected_taggings, author.taggings.uniq.sort_by { |t| t.id } 350 350 end -
activerecord/test/associations/eager_test.rb
old new 292 292 end 293 293 294 294 def test_limited_eager_with_order 295 assert_equal [posts(:thinking), posts(:sti_comments)], Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title)', :limit => 2, :offset => 1)296 assert_equal [posts(:sti_post_and_comments), posts(:sti_comments)], Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title) DESC', :limit => 2, :offset => 1)295 assert_equal posts(:thinking, :sti_comments), Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title)', :limit => 2, :offset => 1) 296 assert_equal posts(:sti_post_and_comments, :sti_comments), Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title) DESC', :limit => 2, :offset => 1) 297 297 end 298 298 299 299 def test_limited_eager_with_multiple_order_columns 300 assert_equal [posts(:thinking), posts(:sti_comments)], Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title), posts.id', :limit => 2, :offset => 1)301 assert_equal [posts(:sti_post_and_comments), posts(:sti_comments)], Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title) DESC, posts.id', :limit => 2, :offset => 1)300 assert_equal posts(:thinking, :sti_comments), Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title), posts.id', :limit => 2, :offset => 1) 301 assert_equal posts(:sti_post_and_comments, :sti_comments), Post.find(:all, :include => [:author, :comments], :conditions => "authors.name = 'David'", :order => 'UPPER(posts.title) DESC, posts.id', :limit => 2, :offset => 1) 302 302 end 303 303 304 304 def test_eager_with_multiple_associations_with_same_table_has_many_and_habtm -
activerecord/test/associations/cascaded_eager_loading_test.rb
old new 55 55 56 56 def test_eager_association_loading_with_acts_as_tree 57 57 roots = TreeMixin.find(:all, :include=>"children", :conditions=>"mixins.parent_id IS NULL", :order=>"mixins.id") 58 assert_equal [mixins(:tree_1), mixins(:tree2_1), mixins(:tree3_1)], roots58 assert_equal mixins(:tree_1, :tree2_1, :tree3_1), roots 59 59 assert_no_queries do 60 60 assert_equal 2, roots[0].children.size 61 61 assert_equal 0, roots[1].children.size … … 73 73 74 74 def test_eager_association_loading_with_has_many_sti 75 75 topics = Topic.find(:all, :include => :replies, :order => 'topics.id') 76 assert_equal [topics(:first), topics(:second)], topics76 assert_equal topics(:first, :second), topics 77 77 assert_no_queries do 78 78 assert_equal 1, topics[0].replies.size 79 79 assert_equal 0, topics[1].replies.size