@@ -1101,8 +1101,8 @@ def test_member_on_unloaded_relation_without_match_coerced
1101
1101
end
1102
1102
1103
1103
# Check for `FETCH NEXT x ROWS` rather then `LIMIT`.
1104
- coerce_tests! :test_implicit_order_column_is_configurable
1105
- def test_implicit_order_column_is_configurable_coerced
1104
+ coerce_tests! :test_implicit_order_column_is_configurable_with_a_single_value
1105
+ def test_implicit_order_column_is_configurable_with_a_single_value_coerced
1106
1106
old_implicit_order_column = Topic . implicit_order_column
1107
1107
Topic . implicit_order_column = "title"
1108
1108
@@ -1117,6 +1117,32 @@ def test_implicit_order_column_is_configurable_coerced
1117
1117
Topic . implicit_order_column = old_implicit_order_column
1118
1118
end
1119
1119
1120
+ # Check for `FETCH NEXT x ROWS` rather then `LIMIT`.
1121
+ coerce_tests! :test_implicit_order_column_is_configurable_with_multiple_values
1122
+ def test_implicit_order_column_is_configurable_with_multiple_values_coerced
1123
+ old_implicit_order_column = Topic . implicit_order_column
1124
+ Topic . implicit_order_column = [ "title" , "author_name" ]
1125
+
1126
+ assert_queries_match ( /ORDER BY #{ Regexp . escape ( quote_table_name ( "topics.title" ) ) } DESC, #{ Regexp . escape ( quote_table_name ( "topics.author_name" ) ) } DESC, #{ Regexp . escape ( quote_table_name ( "topics.id" ) ) } DESC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY.*@0 = 1/i ) {
1127
+ Topic . last
1128
+ }
1129
+ ensure
1130
+ Topic . implicit_order_column = old_implicit_order_column
1131
+ end
1132
+
1133
+ # Check for `FETCH NEXT x ROWS` rather then `LIMIT`.
1134
+ coerce_tests! :test_ordering_does_not_append_primary_keys_or_query_constraints_if_passed_an_implicit_order_column_array_ending_in_nil
1135
+ def test_ordering_does_not_append_primary_keys_or_query_constraints_if_passed_an_implicit_order_column_array_ending_in_nil_coerced
1136
+ old_implicit_order_column = Topic . implicit_order_column
1137
+ Topic . implicit_order_column = [ "author_name" , nil ]
1138
+
1139
+ assert_queries_match ( /ORDER BY #{ Regexp . escape ( quote_table_name ( "topics.author_name" ) ) } DESC OFFSET 0 ROWS FETCH NEXT @0 ROWS ONLY.*@0 = 1/i ) {
1140
+ Topic . last
1141
+ }
1142
+ ensure
1143
+ Topic . implicit_order_column = old_implicit_order_column
1144
+ end
1145
+
1120
1146
# Check for `FETCH NEXT x ROWS` rather then `LIMIT`.
1121
1147
coerce_tests! :test_implicit_order_set_to_primary_key
1122
1148
def test_implicit_order_set_to_primary_key_coerced
0 commit comments