class NullRelationTest
Public Instance Methods
test_none()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 12 def test_none assert_no_queries(ignore_none: false) do assert_equal [], Developer.none assert_equal [], Developer.all.none end end
test_none_chainable()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 19 def test_none_chainable assert_no_queries(ignore_none: false) do assert_equal [], Developer.none.where(name: "David") end end
test_none_chainable_to_existing_scope_extension_method()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 25 def test_none_chainable_to_existing_scope_extension_method assert_no_queries(ignore_none: false) do assert_equal 1, Topic.anonymous_extension.none.one end end
test_none_chained_to_methods_firing_queries_straight_to_db()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 31 def test_none_chained_to_methods_firing_queries_straight_to_db assert_no_queries(ignore_none: false) do assert_equal [], Developer.none.pluck(:id, :name) assert_equal 0, Developer.none.delete_all assert_equal 0, Developer.none.update_all(name: "David") assert_equal 0, Developer.none.delete(1) assert_equal false, Developer.none.exists?(1) end end
test_null_relation_content_size_methods()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 41 def test_null_relation_content_size_methods assert_no_queries(ignore_none: false) do assert_equal 0, Developer.none.size assert_equal 0, Developer.none.count assert_equal true, Developer.none.empty? assert_equal true, Developer.none.none? assert_equal false, Developer.none.any? assert_equal false, Developer.none.one? assert_equal false, Developer.none.many? end end
test_null_relation_in_where_condition()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 80 def test_null_relation_in_where_condition assert_operator Comment.count, :>, 0 # precondition, make sure there are comments. assert_equal 0, Comment.where(post_id: Post.none).count end
test_null_relation_metadata_methods()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 53 def test_null_relation_metadata_methods assert_equal "", Developer.none.to_sql assert_equal({}, Developer.none.where_values_hash) end
test_null_relation_where_values_hash()
click to toggle source
# File activerecord/test/cases/null_relation_test.rb, line 58 def test_null_relation_where_values_hash assert_equal({ "salary" => 100_000 }, Developer.none.where(salary: 100_000).where_values_hash) end