@@ -94,6 +94,12 @@ def test_default_scope_with_all_queries_runs_on_create
94
94
assert_match ( /mentor_id/ , create_sql )
95
95
end
96
96
97
+ def test_nilable_default_scope_with_all_queries_runs_on_create
98
+ create_sql = capture_sql { DeveloperWithDefaultNilableMentorScopeAllQueries . create! ( name : "Nikita" ) } . first
99
+
100
+ assert_no_match ( /AND$/ , create_sql )
101
+ end
102
+
97
103
def test_default_scope_runs_on_select
98
104
Mentor . create!
99
105
DeveloperwithDefaultMentorScopeNot . create! ( name : "Eileen" )
@@ -110,6 +116,13 @@ def test_default_scope_with_all_queries_runs_on_select
110
116
assert_match ( /mentor_id/ , select_sql )
111
117
end
112
118
119
+ def test_nilable_default_scope_with_all_queries_runs_on_select
120
+ DeveloperWithDefaultNilableMentorScopeAllQueries . create! ( name : "Nikita" )
121
+ select_sql = capture_sql { DeveloperWithDefaultNilableMentorScopeAllQueries . find_by ( name : "Nikita" ) } . first
122
+
123
+ assert_no_match ( /AND$/ , select_sql )
124
+ end
125
+
113
126
def test_default_scope_doesnt_run_on_update
114
127
Mentor . create!
115
128
dev = DeveloperwithDefaultMentorScopeNot . create! ( name : "Eileen" )
@@ -126,6 +139,13 @@ def test_default_scope_with_all_queries_runs_on_update
126
139
assert_match ( /mentor_id/ , update_sql )
127
140
end
128
141
142
+ def test_nilable_default_scope_with_all_queries_runs_on_update
143
+ dev = DeveloperWithDefaultNilableMentorScopeAllQueries . create! ( name : "Nikita" )
144
+ update_sql = capture_sql { dev . update! ( name : "Not Nikita" ) } . first
145
+
146
+ assert_no_match ( /AND$/ , update_sql )
147
+ end
148
+
129
149
def test_default_scope_doesnt_run_on_update_columns
130
150
Mentor . create!
131
151
dev = DeveloperwithDefaultMentorScopeNot . create! ( name : "Eileen" )
@@ -142,6 +162,13 @@ def test_default_scope_with_all_queries_runs_on_update_columns
142
162
assert_match ( /mentor_id/ , update_sql )
143
163
end
144
164
165
+ def test_nilable_default_scope_with_all_queries_runs_on_update_columns
166
+ dev = DeveloperWithDefaultNilableMentorScopeAllQueries . create! ( name : "Nikita" )
167
+ update_sql = capture_sql { dev . update_columns ( name : "Not Nikita" ) } . first
168
+
169
+ assert_no_match ( /AND$/ , update_sql )
170
+ end
171
+
145
172
def test_default_scope_doesnt_run_on_destroy
146
173
Mentor . create!
147
174
dev = DeveloperwithDefaultMentorScopeNot . create! ( name : "Eileen" )
@@ -158,6 +185,13 @@ def test_default_scope_with_all_queries_runs_on_destroy
158
185
assert_match ( /mentor_id/ , destroy_sql )
159
186
end
160
187
188
+ def test_nilable_default_scope_with_all_queries_runs_on_destroy
189
+ dev = DeveloperWithDefaultNilableMentorScopeAllQueries . create! ( name : "Nikita" )
190
+ destroy_sql = capture_sql { dev . destroy } . first
191
+
192
+ assert_no_match ( /AND$/ , destroy_sql )
193
+ end
194
+
161
195
def test_default_scope_doesnt_run_on_reload
162
196
Mentor . create!
163
197
dev = DeveloperwithDefaultMentorScopeNot . create! ( name : "Eileen" )
@@ -174,6 +208,13 @@ def test_default_scope_with_all_queries_runs_on_reload
174
208
assert_match ( /mentor_id/ , reload_sql )
175
209
end
176
210
211
+ def test_nilable_default_scope_with_all_queries_runs_on_destroy
212
+ dev = DeveloperWithDefaultNilableMentorScopeAllQueries . create! ( name : "Nikita" )
213
+ reload_sql = capture_sql { dev . reload } . first
214
+
215
+ assert_no_match ( /AND$/ , reload_sql )
216
+ end
217
+
177
218
def test_default_scope_with_all_queries_doesnt_run_on_destroy_when_unscoped
178
219
dev = DeveloperWithDefaultMentorScopeAllQueries . create! ( name : "Eileen" , mentor_id : 2 )
179
220
reload_sql = capture_sql { dev . reload ( { unscoped : true } ) } . first
0 commit comments