summaryrefslogtreecommitdiff
path: root/test/clojure_sql
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@clearboxsystems.com.au>2013-07-03 18:32:17 +1000
committerCarlo Zancanaro <carlo@clearboxsystems.com.au>2013-07-03 18:32:17 +1000
commit7ca4f6e7876e8fd577b74998975dadd44e06e8a1 (patch)
treeb7feb3cc5c2a374a8b5016394a064fe9aad4d287 /test/clojure_sql
parente9445ffea2254e05ae92972451084dce6e09160d (diff)
Remove midje dependency and now useless tests (will add tests later)
Diffstat (limited to 'test/clojure_sql')
-rw-r--r--test/clojure_sql/core_test.clj43
-rw-r--r--test/clojure_sql/dsl_test.clj168
2 files changed, 0 insertions, 211 deletions
diff --git a/test/clojure_sql/core_test.clj b/test/clojure_sql/core_test.clj
deleted file mode 100644
index 6a12698..0000000
--- a/test/clojure_sql/core_test.clj
+++ /dev/null
@@ -1,43 +0,0 @@
-(ns clojure-sql.core-test
- (:refer-clojure :exclude [sort-by])
- (:require [clojure-sql.core :refer :all]
- [midje.sweet :refer :all]))
-
-(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))))
diff --git a/test/clojure_sql/dsl_test.clj b/test/clojure_sql/dsl_test.clj
deleted file mode 100644
index e5545fc..0000000
--- a/test/clojure_sql/dsl_test.clj
+++ /dev/null
@@ -1,168 +0,0 @@
-(ns clojure-sql.dsl-test
- (:refer-clojure :exclude [sort-by])
- (:require [clojure-sql.dsl :refer :all]
- [midje.sweet :refer :all]))
-
-(fact "Table creates basic queries on tables"
-
- (table ..name..)
- => {:tables {..name.. ..name..}}
- ;(provided (keyword? ..name..) => true)
-
- (table {..name.. ..alias..})
- => {:tables {..alias.. ..name..}}
-
- (table {..name.. ..alias.., ..name2.. ..alias2..})
- => {:tables {..alias.. ..name..,
- ..alias2.. ..name2..}})
-
-
-(fact "Project restricts (and/or adds) fields of a query"
-
- (prerequisites (keyword? ..table-alias..) => true
- (keyword? ..table..) => true
- (keyword? ..field..) => true
- (keyword? ..field-alias..) => true
- (keyword? ..field2..) => true
- (keyword? ..field2-alias..) => true)
-
- (fact "projecting onto a single field from one table"
- (-> (table {..table.. ..table-alias..})
- (project [..field..]))
- => {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table-alias.. ..field..]}}
-
- (-> (table {..table.. ..table-alias..})
- (project {..field.. ..field-alias..}))
- => {:tables {..table-alias.. ..table..}
- :fields {..field-alias.. [..table-alias.. ..field..]}})
-
-
- (fact "projecting onto multiple fields from one table"
- (-> (table {..table.. ..table-alias..})
- (project [..field.. ..field2..]))
- => {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table-alias.. ..field..]
- ..field2.. [..table-alias.. ..field2..]}}
-
- (-> (table {..table.. ..table-alias..})
- (project {..field.. ..field-alias.., ..field2.. ..field2-alias..}))
- => {:tables {..table-alias.. ..table..}
- :fields {..field-alias.. [..table-alias.. ..field..]
- ..field2-alias.. [..table-alias.. ..field2..]}})
-
- (fact "projecting one a field from multiple tables"
- (prerequisites ..tables.. =contains=> {:tables {..table.. ..table.., ..table2.. ..table2..}})
-
- (project ..tables.. [..field..])
- => (throws clojure.lang.ExceptionInfo)
-
- (project ..tables.. {..field.. ..field-alias..})
- => (throws clojure.lang.ExceptionInfo))
-
- (fact "projecting a subset of the current projection from one table"
- ;; Note that these two facts are retaining the ..table.. in the
- ;; fields rather than using the ..table-alias.. they would have
- ;; used otherwise. This shows they are filtering the existing
- ;; fields rather than removing and re-adding the fields.
- (project {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
- [..field..])
- => {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table.. ..field..]}}
-
- (project {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
- {..field.. ..field-alias..})
- => {:tables {..table-alias.. ..table..}
- :fields {..field-alias.. [..table.. ..field..]}})
-
- (fact "projecting a disjoint set from the current projection from one table"
- (project {:tables {..table-alias.. ..table..}
- :fields {[..table.. ..field..] ..field..}}
- [..field2..])
- => {:tables {..table-alias.. ..table..}
- :fields {..field2.. [..table-alias.. ..field2..]}})
-
- (fact "projecting a superset from the current projection from one table"
- (project {:tables {..table.. ..table..}
- :fields {..field.. [..table.. ..field..]}}
- [..field.. ..field2..])
- => {:tables {..table.. ..table..}
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
-
- ;; once again - note the table aliases
- (project {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table.. ..field..]}}
- [..field.. ..field2..])
- => {:tables {..table-alias.. ..table..}
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table-alias.. ..field2..]}})
-
-
-
- (fact "projecting a subset of the current projection from two table"
- (prerequisites ..tables.. =contains=> {:tables {..table.. ..table.., ..table2.. ..table2..}})
-
- (project {:tables ..tables..
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
- [..field..])
- => {:tables ..tables..
- :fields {..field.. [..table.. ..field..]}}
-
- (project {:tables ..tables..
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
- {..field.. ..field-alias..})
- => {:tables ..tables..
- :fields {..field-alias.. [..table.. ..field..]}})
-
- (fact "projecting a disjoint set from the current projection from two tables"
- (project {:tables {..table-alias.. ..table.., ..table2-alias.. ..table2..}
- :fields {[..table.. ..field..] ..field..}}
- [..field2..])
- => (throws clojure.lang.ExceptionInfo))
-
- (fact "projecting a superset from the current projection from two tables"
- (project {:tables {..table-alias.. ..table.., ..table2-alias.. ..table2..}
- :fields {[..table.. ..field..] ..field..}}
- [..field.. ..field2..])
- => (throws clojure.lang.ExceptionInfo)))
-
-
-
-(fact "renaming fields does what you'd expect (renames them, removes the old alias)"
- (prerequisites (keyword? ..table..) => true
- (keyword? ..field..) => true
- (keyword? ..field2..) => true
- (keyword? ..field-alias..) => true)
-
- (-> (table ..table..)
- (project [..field..])
- (rename {..field.. ..field-alias..}))
- => {:tables {..table.. ..table..}
- :fields {..field-alias.. [..table.. ..field..]}}
-
- (-> (table ..table..)
- (project [..field.. ..field2..])
- (rename {..field.. ..field-alias..}))
- => {:tables {..table.. ..table..}
- :fields {..field-alias.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
-
- (-> {:tables {..table.. ..table..,
- ..table2.. ..table2..}
- :fields {..field.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}}
- (rename {..field.. ..field-alias..}))
- => {:tables {..table.. ..table.., ..table2.. ..table2..}
- :fields {..field-alias.. [..table.. ..field..]
- ..field2.. [..table.. ..field2..]}})
-
-
-(fact "joining tables merges tables and fields"
- )