Skip to content

Commit f3d9d70

Browse files
committed
delete test cases with genargs
1 parent 804fb85 commit f3d9d70

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

src/sqlbuilderpkg/delete.nim

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,7 @@ proc sqlDelete*(table: string, where: varargs[string], args: ArgsContainer.query
3030

3131
var res = "DELETE FROM " & table
3232
if where.len > 0:
33-
res.add " WHERE "
34-
for i, d in where:
35-
if i > 0:
36-
res.add(" AND ")
37-
if args[i].isNull:
38-
res.add(d & " = NULL")
39-
else:
40-
res.add(d & " = ?")
33+
res.add(sqlWhere(where))
4134
result = sql(res)
4235

4336

tests/delete/test_delete.nim

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,32 @@ suite "delete - macro":
6767
check querycompare(test, sql("DELETE FROM my-table WHERE name IS NULL AND age = ?"))
6868

6969

70+
suite "delete - genArgs":
71+
72+
test "sqlDelete with genArgs":
73+
74+
var a = genArgs("123", dbNullVal)
75+
76+
var test = sqlDelete("tasksQQ", ["id =", "status IS"], a.query)
77+
78+
check querycompare(test, sql("""DELETE FROM tasksQQ WHERE id = ? AND status IS ?"""))
79+
80+
81+
82+
a = genArgs("123", dbNullVal, dbNullVal)
83+
84+
test = sqlDelete("tasksQQ", ["id =", "status IS NOT", "phase IS"], a.query)
85+
86+
check querycompare(test, sql("""DELETE FROM tasksQQ WHERE id = ? AND status IS NOT ? AND phase IS ?"""))
87+
88+
89+
90+
test "sqlDelete with genArgsSetNull":
91+
92+
var a = genArgsSetNull("123", "", "")
93+
94+
var test = sqlDelete("tasksQQ", ["id =", "status IS NOT", "phase IS"], a.query)
95+
96+
check querycompare(test, sql("""DELETE FROM tasksQQ WHERE id = ? AND status IS NOT ? AND phase IS ?"""))
97+
7098

0 commit comments

Comments
 (0)