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
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/vex/active_record/find_by_extension.rb', line 28 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
44 45 46 |
# File 'lib/vex/active_record/find_by_extension.rb', line 44 def teardown Data.destroy_all end |
#test_find_all_by ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/vex/active_record/find_by_extension.rb', line 48 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
59 60 61 62 |
# File 'lib/vex/active_record/find_by_extension.rb', line 59 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
64 65 66 67 68 69 |
# File 'lib/vex/active_record/find_by_extension.rb', line 64 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 |