From e1cc7b94a58df1c6f44c3dbe15e2c3c9c7a577aa Mon Sep 17 00:00:00 2001 From: Aidan Haran Date: Mon, 20 May 2024 12:18:45 +0100 Subject: [PATCH] Coerce query assertion test --- test/cases/coerced_tests.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/cases/coerced_tests.rb b/test/cases/coerced_tests.rb index 2f31184ba..01e76100f 100644 --- a/test/cases/coerced_tests.rb +++ b/test/cases/coerced_tests.rb @@ -2711,3 +2711,26 @@ def test_relation_explain_with_last_coerced assert_match(expected_query, message) end end + +module ActiveRecord + module Assertions + class QueryAssertionsTest < ActiveSupport::TestCase + # Query slightly different in original test. + coerce_tests! :test_assert_queries_match + def test_assert_queries_match_coerced + assert_queries_match(/ASC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY/i, count: 1) { Post.first } + assert_queries_match(/ASC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY/i) { Post.first } + + error = assert_raises(Minitest::Assertion) { + assert_queries_match(/ASC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY/i, count: 2) { Post.first } + } + assert_match(/1 instead of 2 queries/, error.message) + + error = assert_raises(Minitest::Assertion) { + assert_queries_match(/ASC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY/i, count: 0) { Post.first } + } + assert_match(/1 instead of 0 queries/, error.message) + end + end + end +end