-
Notifications
You must be signed in to change notification settings - Fork 0
/
delete_test.clj
27 lines (23 loc) · 957 Bytes
/
delete_test.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(ns seaquell.delete-test
(:refer-clojure
:exclude [alter distinct drop group-by into set update partition-by when])
(:require [midje.sweet :refer :all :exclude [after before]]
[seaquell.core :refer :all]))
(facts "about delete"
;; simple delete
(delete$ :db.tbl) => "DELETE FROM db.tbl;"
(delete-from$ :db.tbl) => "DELETE FROM db.tbl;"
(delete$ (from :db.tbl)) => "DELETE FROM db.tbl;"
(delete$ :from :db.tbl) => "DELETE FROM db.tbl;"
(fact "delete is idempotent"
(delete (delete :db.tbl)) => (delete :db.tbl))
;; using WHERE
(delete$ :tbl (where [> :c 5]))
=> "DELETE FROM tbl WHERE c > 5;"
;; using INDEXED BY
(delete$ :tbl (not-indexed) (where [> :c 5]))
=> "DELETE FROM tbl NOT INDEXED WHERE c > 5;"
(delete$ :tbl (indexed-by :ix) (where [> :c 5]))
=> "DELETE FROM tbl INDEXED BY ix WHERE c > 5;"
(delete$ :tbl :indexed-by :ix :where [> :c 5])
=> "DELETE FROM tbl INDEXED BY ix WHERE c > 5;")