diff options
Diffstat (limited to 'test/clojure_sql/core_test.clj')
-rw-r--r-- | test/clojure_sql/core_test.clj | 63 |
1 files changed, 38 insertions, 25 deletions
diff --git a/test/clojure_sql/core_test.clj b/test/clojure_sql/core_test.clj index 236e421..6a12698 100644 --- a/test/clojure_sql/core_test.clj +++ b/test/clojure_sql/core_test.clj @@ -3,28 +3,41 @@ (:require [clojure-sql.core :refer :all] [midje.sweet :refer :all])) -(fact - @(table :user) - => ["SELECT * FROM \"user\""] - - @(-> (table :user) (select '(= :username "george"))) - => ["SELECT * FROM \"user\" WHERE (\"user\".\"username\" = ?)" "george"] - - @(-> (table :user) (project {:username :u})) - => ["SELECT \"user\".\"username\" AS \"u\" FROM \"user\""] - - @(-> (table :user) (project {'(+ :username :password) :u})) - => ["SELECT (\"user\".\"username\" + \"user\".\"password\") AS \"u\" FROM \"user\""]) - -(into {} (-> (table :user) (project '{(+ :username :password) :u}))) - -(-> (table :users) - (project '[:username (+ 1 2 3)]) - (rename '{(+ 1 2 3) :x}) - (select `(exists ~(-> (table :users) - (select '(= 10 :username))))) - println) - -(-> (table :users) - (project {:username :un}) - (select '(= :username 10))) +(comment + + (fact + @(table :user) + => ["SELECT * FROM \"user\""] + + @(-> (table :user) (project [:username])) + => ["SELECT \"user\".\"username\" AS \"username\" FROM \"user\""] + + @(-> (table :user) (select '(= :username "george"))) + => ["SELECT * FROM \"user\" WHERE (\"user\".\"username\" = ?)" "george"] + + @(-> (table :user) (project {:username :u})) + => ["SELECT \"user\".\"username\" AS \"u\" FROM \"user\""] + + @(-> (table :user) (project {'(+ :age :modifier) :u})) + => ["SELECT (\"user\".\"age\" + \"user\".\"modifier\") AS \"u\" FROM \"user\""] + + @(-> (table :user) + (project [:id]) + (join (-> (table :x) + (project [:id]) + (join (-> (table :y) + (project [:id])) + :type :left)))) + => ["SELECT \"user\".\"id\" AS \"id\" FROM \"user\" INNER JOIN \"x\" ON ((\"user\".\"id\" = \"x\".\"id\"))"]) + + (into {} (-> (table :user) (project '{(+ :username :password) :u}))) + + (-> (table :users) + (project '[:username (+ 1 2 3)]) + (rename '{(+ 1 2 3) :x}) + (select `(exists ~(-> (table :users) + (select '(= 10 :username)))))) + + (-> (table :users) + (project {:username :un}) + (select '(= :username 10)))) |