@@ -193,3 +193,63 @@ async fn test_update_submissions() {
193
193
assert_eq ! ( submissions[ 0 ] . point, 100.0 ) ;
194
194
assert_eq ! ( submissions[ 0 ] . execution_time, Some ( 1 ) ) ;
195
195
}
196
+
197
+ #[ sqlx:: test]
198
+ async fn case_insensitive ( ) {
199
+ let pool = utils:: initialize_and_connect_to_test_sql ( ) . await ;
200
+
201
+ let submission = Submission {
202
+ id : 0 ,
203
+ user_id : "CASE_insensitive" . to_owned ( ) ,
204
+ result : "AC" . to_owned ( ) ,
205
+ point : 100.0 ,
206
+ execution_time : Some ( 1 ) ,
207
+ problem_id : "test-problem" . to_owned ( ) ,
208
+ ..Default :: default ( )
209
+ } ;
210
+
211
+ pool. update_submissions ( & [ submission. clone ( ) ] )
212
+ . await
213
+ . unwrap ( ) ;
214
+
215
+ let submissions = pool
216
+ . get_submissions ( SubmissionRequest :: FromUserAndTime {
217
+ user_id : "case_INSENSITIVE" ,
218
+ from_second : 0 ,
219
+ count : 1 ,
220
+ } )
221
+ . await
222
+ . unwrap ( ) ;
223
+
224
+ assert_eq ! ( submissions, & [ submission. clone( ) ] ) ;
225
+
226
+ let submissions = pool
227
+ . get_submissions ( SubmissionRequest :: UserAll {
228
+ user_id : "case_INSENSITIVE" ,
229
+ } )
230
+ . await
231
+ . unwrap ( ) ;
232
+
233
+ assert_eq ! ( submissions, & [ submission. clone( ) ] ) ;
234
+
235
+ let submissions = pool
236
+ . get_submissions ( SubmissionRequest :: UsersAccepted {
237
+ user_ids : & [ "case_INSENSITIVE" ] ,
238
+ } )
239
+ . await
240
+ . unwrap ( ) ;
241
+
242
+ assert_eq ! ( submissions, & [ submission. clone( ) ] ) ;
243
+
244
+ let submissions = pool
245
+ . get_submissions ( SubmissionRequest :: UsersProblemsTime {
246
+ user_ids : & [ "case_INSENSITIVE" ] ,
247
+ problem_ids : & [ "test-problem" ] ,
248
+ from_second : 0 ,
249
+ to_second : 1 ,
250
+ } )
251
+ . await
252
+ . unwrap ( ) ;
253
+
254
+ assert_eq ! ( submissions, & [ submission. clone( ) ] ) ;
255
+ }
0 commit comments