diff options
author | Yves Senn <yves.senn@gmail.com> | 2014-03-05 09:05:15 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2014-03-05 09:05:15 +0100 |
commit | 5f7f3bb1df6eb45232e8399611158972ad53ec69 (patch) | |
tree | 96f12d8dfc7ed9c8d99f13f3a352a434d349b1be /activerecord/test | |
parent | ef7e7ad7e9c11916865b7e3e9f0c754a4e6fc775 (diff) | |
parent | acbd7ab22e5d9179487bd98110234c54535036c4 (diff) | |
download | rails-5f7f3bb1df6eb45232e8399611158972ad53ec69.tar.gz rails-5f7f3bb1df6eb45232e8399611158972ad53ec69.tar.bz2 rails-5f7f3bb1df6eb45232e8399611158972ad53ec69.zip |
Merge pull request #14263 from robin850/allow_passing_string_to_order_hash
Follow up of #10732 - Allow string hash values on AR order method
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/relations_test.rb | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/activerecord/test/cases/relations_test.rb b/activerecord/test/cases/relations_test.rb index 8718110c36..a08171cfcc 100644 --- a/activerecord/test/cases/relations_test.rb +++ b/activerecord/test/cases/relations_test.rb @@ -171,7 +171,6 @@ class RelationTest < ActiveRecord::TestCase assert_equal topics(:first).title, topics.first.title end - def test_finding_with_arel_order topics = Topic.order(Topic.arel_table[:id].asc) assert_equal 5, topics.to_a.size @@ -194,8 +193,43 @@ class RelationTest < ActiveRecord::TestCase assert_equal Topic.order(:id).to_sql, Topic.order(:id => :asc).to_sql end + def test_finding_with_desc_order_with_string + topics = Topic.order(id: "desc") + assert_equal 5, topics.to_a.size + assert_equal [topics(:fifth), topics(:fourth), topics(:third), topics(:second), topics(:first)], topics.to_a + end + + def test_finding_with_asc_order_with_string + topics = Topic.order(id: 'asc') + assert_equal 5, topics.to_a.size + assert_equal [topics(:first), topics(:second), topics(:third), topics(:fourth), topics(:fifth)], topics.to_a + end + + def test_nothing_raises_on_upcase_desc_arg + Topic.order(id: "DESC") + end + + def test_nothing_raises_on_downcase_desc_arg + Topic.order(id: "desc") + end + + def test_nothing_raises_on_upcase_asc_arg + Topic.order(id: "ASC") + end + + def test_nothing_raises_on_downcase_asc_arg + Topic.order(id: "asc") + end + + def test_nothing_raises_on_case_insensitive_args + Topic.order(id: "DeSc") + Topic.order(id: :DeSc) + Topic.order(id: "aSc") + Topic.order(id: :aSc) + end + def test_raising_exception_on_invalid_hash_params - assert_raise(ArgumentError) { Topic.order(:name, "id DESC", :id => :DeSc) } + assert_raise(ArgumentError) { Topic.order(:name, "id DESC", id: :asfsdf) } end def test_finding_last_with_arel_order |