@@ -1,6 +1,39 @@
1module Squeel.PostgreSQL.QuerySpec where
7module Squeel.PostgreSQL.QuerySpec where
3import Test.Hspec
11import Test.Hspec
13+import Squeel.PostgreSQL.Query
14+import Squeel.PostgreSQL.Type
5spec :: Spec
16spec :: Spec
6−spec = return ()
17+spec = do
18+ it "correctly renders a simple SELECT query" $ do
19+ renderQuery (select (sumAndCol1 `from` (table1 `where_` true)))
21+ "SELECT col1+col2 AS sum, col1 AS col1 FROM table1 WHERE TRUE"
22+ it "combines WHEREs using AND" $ do
23+ renderQuery (select (sumAndCol1 `from` (table1 `where_` true `where_` false)))
25+ "SELECT col1+col2 AS sum, col1 AS col1 FROM table1 WHERE TRUE AND FALSE"
28+ '[ '("col1", 'PGInt4)
32+sumAndCol1 :: Projection '[] Columns
36+sumAndCol1 = project ((#col1 + #col2) `As` #sum :& #col1 :& RNil)
38+table1 :: Relation '[] '[ '("table1", Columns)] Columns