1
+ mod full_api {
2
+ use pretty_assertions:: assert_eq;
3
+ use sql_query_builder as sql;
4
+
5
+ // SQL Standard
6
+ #[ test]
7
+ fn sql_standard_with_all_methods ( ) {
8
+ let query = sql:: DropTable :: new ( ) . drop_table ( "users_name_idx" ) . as_string ( ) ;
9
+
10
+ let expected_query = "DROP TABLE users_name_idx" ;
11
+
12
+ assert_eq ! ( expected_query, query) ;
13
+ }
14
+
15
+ #[ cfg( feature = "postgresql" ) ]
16
+ #[ test]
17
+ fn postgres_with_all_methods ( ) {
18
+ let query = sql:: DropTable :: new ( )
19
+ // at least one of methods
20
+ . drop_table ( "users_name_idx" )
21
+ . drop_table_if_exists ( "users_login_idx" )
22
+ . as_string ( ) ;
23
+
24
+ let expected_query = "DROP TABLE IF EXISTS users_name_idx, users_login_idx" ;
25
+
26
+ assert_eq ! ( expected_query, query) ;
27
+ }
28
+
29
+ #[ cfg( feature = "sqlite" ) ]
30
+ #[ test]
31
+ fn sqlite_with_all_methods ( ) {
32
+ let query = sql:: DropTable :: new ( )
33
+ // at least one of methods
34
+ . drop_table ( "users_name_idx" )
35
+ . drop_table_if_exists ( "users_login_idx" )
36
+ . as_string ( ) ;
37
+
38
+ let expected_query = "DROP TABLE IF EXISTS users_login_idx" ;
39
+
40
+ assert_eq ! ( expected_query, query) ;
41
+ }
42
+
43
+ #[ cfg( feature = "mysql" ) ]
44
+ #[ test]
45
+ fn mysql_with_all_methods ( ) {
46
+ let query = sql:: DropTable :: new ( )
47
+ // at least one of methods
48
+ . drop_table ( "users_name_idx" )
49
+ . drop_table_if_exists ( "users_login_idx" )
50
+ . as_string ( ) ;
51
+
52
+ let expected_query = "DROP TABLE IF EXISTS users_name_idx, users_login_idx" ;
53
+
54
+ assert_eq ! ( expected_query, query) ;
55
+ }
56
+ }
57
+
1
58
mod builder_features {
2
59
use pretty_assertions:: assert_eq;
3
60
use sql_query_builder as sql;
@@ -26,7 +83,7 @@ mod builder_features {
26
83
assert_eq ! ( expected_query, query) ;
27
84
}
28
85
29
- #[ cfg( not( feature = "postgresql" ) ) ]
86
+ #[ cfg( not( any ( feature = "postgresql" , feature = "mysql" ) ) ) ]
30
87
#[ test]
31
88
fn drop_table_builder_should_be_able_to_conditionally_add_clauses ( ) {
32
89
let mut drop_table = sql:: DropTable :: new ( ) . drop_table ( "orders" ) ;
@@ -41,7 +98,7 @@ mod builder_features {
41
98
assert_eq ! ( expected_query, query) ;
42
99
}
43
100
44
- #[ cfg( feature = "postgresql" ) ]
101
+ #[ cfg( any ( feature = "postgresql" , feature = "mysql" ) ) ]
45
102
#[ test]
46
103
fn drop_table_builder_should_be_able_to_conditionally_add_clauses ( ) {
47
104
let mut drop_table = sql:: DropTable :: new ( ) . drop_table ( "orders" ) ;
@@ -56,7 +113,7 @@ mod builder_features {
56
113
assert_eq ! ( expected_query, query) ;
57
114
}
58
115
59
- #[ cfg( not( feature = "postgresql" ) ) ]
116
+ #[ cfg( not( any ( feature = "postgresql" , feature = "mysql" ) ) ) ]
60
117
#[ test]
61
118
fn drop_table_builder_should_be_cloneable ( ) {
62
119
let drop_users = sql:: DropTable :: new ( ) . drop_table ( "users" ) ;
@@ -69,7 +126,7 @@ mod builder_features {
69
126
assert_eq ! ( expected_drop_users_and_orders, drop_users_and_orders. as_string( ) ) ;
70
127
}
71
128
72
- #[ cfg( feature = "postgresql" ) ]
129
+ #[ cfg( any ( feature = "postgresql" , feature = "mysql" ) ) ]
73
130
#[ test]
74
131
fn drop_table_builder_should_be_cloneable ( ) {
75
132
let drop_users = sql:: DropTable :: new ( ) . drop_table ( "users" ) ;
@@ -130,18 +187,18 @@ mod builder_methods {
130
187
131
188
#[ test]
132
189
fn method_debug_should_print_at_console_in_a_human_readable_format ( ) {
133
- let query = sql:: DropTable :: new ( ) . drop_table_if_exists ( "users" ) . debug ( ) . as_string ( ) ;
190
+ let query = sql:: DropTable :: new ( ) . drop_table ( "users" ) . debug ( ) . as_string ( ) ;
134
191
135
- let expected_query = "DROP TABLE IF EXISTS users" ;
192
+ let expected_query = "DROP TABLE users" ;
136
193
137
194
assert_eq ! ( expected_query, query) ;
138
195
}
139
196
140
197
#[ test]
141
198
fn method_print_should_print_in_one_line_the_current_state_of_builder ( ) {
142
- let query = sql:: DropTable :: new ( ) . drop_table_if_exists ( "users" ) . print ( ) . as_string ( ) ;
199
+ let query = sql:: DropTable :: new ( ) . drop_table ( "users" ) . print ( ) . as_string ( ) ;
143
200
144
- let expected_query = "DROP TABLE IF EXISTS users" ;
201
+ let expected_query = "DROP TABLE users" ;
145
202
146
203
assert_eq ! ( expected_query, query) ;
147
204
}
@@ -237,28 +294,50 @@ mod method_drop_table {
237
294
assert_eq ! ( expected_query, query) ;
238
295
}
239
296
240
- #[ cfg( not( feature = "postgresql" ) ) ]
241
297
#[ test]
242
- fn method_drop_table_should_overrides_previous_value_on_consecutive_calls ( ) {
298
+ fn method_drop_table_should_trim_space_of_the_argument ( ) {
299
+ let query = sql:: DropTable :: new ( ) . drop_table ( " films " ) . as_string ( ) ;
300
+ let expected_query = "DROP TABLE films" ;
301
+
302
+ assert_eq ! ( expected_query, query) ;
303
+ }
304
+
305
+ #[ test]
306
+ fn method_raw_before_should_add_raw_sql_before_method_drop_table ( ) {
243
307
let query = sql:: DropTable :: new ( )
308
+ . raw_before ( sql:: DropTableParams :: DropTable , "/* drop command */" )
244
309
. drop_table ( "films" )
245
- . drop_table ( "series" )
246
310
. as_string ( ) ;
311
+ let expected_query = "/* drop command */ DROP TABLE films" ;
247
312
248
- let expected_query = "DROP TABLE series" ;
313
+ assert_eq ! ( expected_query, query) ;
314
+ }
315
+
316
+ #[ test]
317
+ fn method_raw_after_should_add_raw_sql_after_method_drop_table ( ) {
318
+ let query = sql:: DropTable :: new ( )
319
+ . drop_table ( "films" )
320
+ . raw_after ( sql:: DropTableParams :: DropTable , "RESTRICT" )
321
+ . as_string ( ) ;
322
+ let expected_query = "DROP TABLE films RESTRICT" ;
249
323
250
324
assert_eq ! ( expected_query, query) ;
251
325
}
252
326
327
+ #[ cfg( not( any( feature = "postgresql" , feature = "mysql" ) ) ) ]
253
328
#[ test]
254
- fn method_drop_table_should_trim_space_of_the_argument ( ) {
255
- let query = sql:: DropTable :: new ( ) . drop_table ( " films " ) . as_string ( ) ;
256
- let expected_query = "DROP TABLE films" ;
329
+ fn method_drop_table_should_overrides_previous_value_on_consecutive_calls ( ) {
330
+ let query = sql:: DropTable :: new ( )
331
+ . drop_table ( "films" )
332
+ . drop_table ( "series" )
333
+ . as_string ( ) ;
334
+
335
+ let expected_query = "DROP TABLE series" ;
257
336
258
337
assert_eq ! ( expected_query, query) ;
259
338
}
260
339
261
- #[ cfg( not( feature = "postgresql" ) ) ]
340
+ #[ cfg( not( any ( feature = "postgresql" , feature = "mysql" ) ) ) ]
262
341
#[ test]
263
342
fn method_drop_table_should_not_accumulate_arguments_with_the_same_content ( ) {
264
343
let query = sql:: DropTable :: new ( )
@@ -270,24 +349,29 @@ mod method_drop_table {
270
349
assert_eq ! ( expected_query, query) ;
271
350
}
272
351
352
+ #[ cfg( any( feature = "postgresql" , feature = "mysql" ) ) ]
273
353
#[ test]
274
- fn method_raw_before_should_add_raw_sql_before_method_drop_table ( ) {
354
+ fn method_drop_table_should_accumulate_values_on_consecutive_calls ( ) {
275
355
let query = sql:: DropTable :: new ( )
276
- . raw_before ( sql:: DropTableParams :: DropTable , "/* drop command */" )
277
356
. drop_table ( "films" )
357
+ . drop_table ( "series" )
278
358
. as_string ( ) ;
279
- let expected_query = "/* drop command */ DROP TABLE films" ;
359
+
360
+ let expected_query = "DROP TABLE films, series" ;
280
361
281
362
assert_eq ! ( expected_query, query) ;
282
363
}
283
364
365
+ #[ cfg( any( feature = "postgresql" , feature = "mysql" ) ) ]
284
366
#[ test]
285
- fn method_raw_after_should_add_raw_sql_after_method_drop_table ( ) {
367
+ fn method_drop_table_should_not_accumulate_values_when_expression_is_empty ( ) {
286
368
let query = sql:: DropTable :: new ( )
287
- . drop_table ( "films" )
288
- . raw_after ( sql:: DropTableParams :: DropTable , "RESTRICT" )
369
+ . drop_table ( "" )
370
+ . drop_table ( "series" )
371
+ . drop_table ( "" )
289
372
. as_string ( ) ;
290
- let expected_query = "DROP TABLE films RESTRICT" ;
373
+
374
+ let expected_query = "DROP TABLE series" ;
291
375
292
376
assert_eq ! ( expected_query, query) ;
293
377
}
@@ -305,19 +389,6 @@ mod method_drop_table_if_exists {
305
389
assert_eq ! ( expected_query, query) ;
306
390
}
307
391
308
- #[ cfg( not( feature = "postgresql" ) ) ]
309
- #[ test]
310
- fn method_drop_table_if_exists_should_overrides_previous_value_on_consecutive_calls ( ) {
311
- let query = sql:: DropTable :: new ( )
312
- . drop_table_if_exists ( "films" )
313
- . drop_table_if_exists ( "series" )
314
- . as_string ( ) ;
315
-
316
- let expected_query = "DROP TABLE IF EXISTS series" ;
317
-
318
- assert_eq ! ( expected_query, query) ;
319
- }
320
-
321
392
#[ test]
322
393
fn method_drop_table_if_exists_should_trim_space_of_the_argument ( ) {
323
394
let query = sql:: DropTable :: new ( ) . drop_table_if_exists ( " films " ) . as_string ( ) ;
@@ -326,18 +397,6 @@ mod method_drop_table_if_exists {
326
397
assert_eq ! ( expected_query, query) ;
327
398
}
328
399
329
- #[ cfg( not( feature = "postgresql" ) ) ]
330
- #[ test]
331
- fn method_drop_table_if_exists_should_not_accumulate_arguments_with_the_same_content ( ) {
332
- let query = sql:: DropTable :: new ( )
333
- . drop_table_if_exists ( "films" )
334
- . drop_table_if_exists ( "films" )
335
- . as_string ( ) ;
336
- let expected_query = "DROP TABLE IF EXISTS films" ;
337
-
338
- assert_eq ! ( expected_query, query) ;
339
- }
340
-
341
400
#[ test]
342
401
fn method_raw_before_should_add_raw_sql_before_method_drop_table_if_exists ( ) {
343
402
let query = sql:: DropTable :: new ( )
@@ -359,38 +418,33 @@ mod method_drop_table_if_exists {
359
418
360
419
assert_eq ! ( expected_query, query) ;
361
420
}
362
- }
363
-
364
- #[ cfg( feature = "postgresql" ) ]
365
- mod postgres_feature_flag {
366
- use pretty_assertions:: assert_eq;
367
- use sql_query_builder as sql;
368
421
422
+ #[ cfg( not( any( feature = "postgresql" , feature = "mysql" ) ) ) ]
369
423
#[ test]
370
- fn method_drop_table_should_accumulate_values_on_consecutive_calls ( ) {
424
+ fn method_drop_table_if_exists_should_overrides_previous_value_on_consecutive_calls ( ) {
371
425
let query = sql:: DropTable :: new ( )
372
- . drop_table ( "films" )
373
- . drop_table ( "series" )
426
+ . drop_table_if_exists ( "films" )
427
+ . drop_table_if_exists ( "series" )
374
428
. as_string ( ) ;
375
429
376
- let expected_query = "DROP TABLE films, series" ;
430
+ let expected_query = "DROP TABLE IF EXISTS series" ;
377
431
378
432
assert_eq ! ( expected_query, query) ;
379
433
}
380
434
435
+ #[ cfg( not( any( feature = "postgresql" , feature = "mysql" ) ) ) ]
381
436
#[ test]
382
- fn method_drop_table_should_not_accumulate_values_when_expression_is_empty ( ) {
437
+ fn method_drop_table_if_exists_should_not_accumulate_arguments_with_the_same_content ( ) {
383
438
let query = sql:: DropTable :: new ( )
384
- . drop_table ( "" )
385
- . drop_table ( "series" )
386
- . drop_table ( "" )
439
+ . drop_table_if_exists ( "films" )
440
+ . drop_table_if_exists ( "films" )
387
441
. as_string ( ) ;
388
-
389
- let expected_query = "DROP TABLE series" ;
442
+ let expected_query = "DROP TABLE IF EXISTS films" ;
390
443
391
444
assert_eq ! ( expected_query, query) ;
392
445
}
393
446
447
+ #[ cfg( any( feature = "postgresql" , feature = "mysql" ) ) ]
394
448
#[ test]
395
449
fn method_drop_table_if_exists_should_accumulate_values_on_consecutive_calls ( ) {
396
450
let query = sql:: DropTable :: new ( )
@@ -403,6 +457,7 @@ mod postgres_feature_flag {
403
457
assert_eq ! ( expected_query, query) ;
404
458
}
405
459
460
+ #[ cfg( any( feature = "postgresql" , feature = "mysql" ) ) ]
406
461
#[ test]
407
462
fn method_drop_table_if_exists_should_not_accumulate_values_when_expression_is_empty ( ) {
408
463
let query = sql:: DropTable :: new ( )
0 commit comments