Module: ActiveRecord::FindByExtension::Etest
- Defined in:
- lib/vex/active_record/find_by_extension.rb,
lib/vex/active_record/resolver.rb
Defined Under Namespace
Classes: Data
Instance Method Summary collapse
- #setup ⇒ Object
- #teardown ⇒ Object
- #test_find_all_by ⇒ Object
- #test_find_by ⇒ Object
- #test_find_by! ⇒ Object
- #test_resolve ⇒ Object
Instance Method Details
#setup ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/vex/active_record/find_by_extension.rb', line 68 def setup Data.lite_table do string :name string :age end Data.create! :name => "name", :age => 2 Data.create! :name => "name", :age => 3 Data.create! :name => "name", :age => 4 Data.create! :name => "name2", :age => 2 Data.create! :name => "name2", :age => 3 Data.create! :name => "name2", :age => 4 assert_equal(6, Data.count) end |
#teardown ⇒ Object
84 85 86 |
# File 'lib/vex/active_record/find_by_extension.rb', line 84 def teardown Data.destroy_all end |
#test_find_all_by ⇒ Object
88 89 90 91 92 93 94 95 96 97 |
# File 'lib/vex/active_record/find_by_extension.rb', line 88 def test_find_all_by assert_equal(3, Data.find_all_by(:name => "name").length) assert_equal(3, Data.find_all_by(:name => [ "name" ]).length) assert_raise(ActiveRecord::StatementInvalid) { assert_equal(3, Data.find_all_by(:unknown => [ "name" ]).length) } assert_equal(2, Data.find_all_by(:name => [ "name" ], :age => [1, 2, 3]).length) assert_equal(2, Data.find_all_by({:name => [ "name" ]}, :conditions => { :age => [1, 2, 3]}).length) end |
#test_find_by ⇒ Object
99 100 101 102 |
# File 'lib/vex/active_record/find_by_extension.rb', line 99 def test_find_by assert_equal("name", Data.find_by(:name => "name").name) assert_equal(nil, Data.find_by(:name => "namex")) end |
#test_find_by! ⇒ Object
104 105 106 107 108 109 |
# File 'lib/vex/active_record/find_by_extension.rb', line 104 def test_find_by! assert_equal("name", Data.find_by!(:name => "name").name) assert_raise(ActiveRecord::RecordNotFound) do Data.find_by!(:name => "namex") end end |
#test_resolve ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/vex/active_record/resolver.rb', line 40 def test_resolve data2 = Data.find_by :name => "name", :age => 2 data3 = Data.find_by :name => "name", :age => 3 assert_equal data2, Data.resolve(data2) assert_equal data2, Data.resolve(data2.id) assert_equal data2, Data.resolve(data2.id.to_s) assert_equal [ data2, data3 ].sort_by(&:id), Data.resolve([data2.id, data3.id]).sort_by(&:id) end |