summaryrefslogtreecommitdiff
path: root/tests/HomeTest.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/HomeTest.hs')
-rw-r--r--tests/HomeTest.hs46
1 files changed, 30 insertions, 16 deletions
diff --git a/tests/HomeTest.hs b/tests/HomeTest.hs
index 17c9e6d..fbe52ac 100644
--- a/tests/HomeTest.hs
+++ b/tests/HomeTest.hs
@@ -1,24 +1,38 @@
+{-# LANGUAGE OverloadedStrings #-}
module HomeTest
( homeSpecs
) where
-import Import
-import Yesod.Test
+import TestImport
+import qualified Data.List as L
-homeSpecs :: Specs
+homeSpecs :: Spec
homeSpecs =
- describe "These are some example tests" $
- it "loads the index and checks it looks right" $ do
- get_ "/"
- statusIs 200
- htmlAllContain "h1" "Hello"
+ ydescribe "These are some example tests" $ do
- post "/" $ do
- addNonce
- fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference
- byLabel "What's on the file?" "Some Content"
+ yit "loads the index and checks it looks right" $ do
+ get HomeR
+ statusIs 200
+ htmlAllContain "h1" "Hello"
- statusIs 200
- htmlCount ".message" 1
- htmlAllContain ".message" "Some Content"
- htmlAllContain ".message" "text/plain"
+ request $ do
+ setMethod "POST"
+ setUrl HomeR
+ addNonce
+ fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference
+ byLabel "What's on the file?" "Some Content"
+
+ statusIs 200
+ printBody
+ htmlCount ".message" 1
+ htmlAllContain ".message" "Some Content"
+ htmlAllContain ".message" "text/plain"
+
+ -- This is a simple example of using a database access in a test. The
+ -- test will succeed for a fresh scaffolded site with an empty database,
+ -- but will fail on an existing database with a non-empty user table.
+ yit "leaves the user table empty" $ do
+ get HomeR
+ statusIs 200
+ users <- runDB $ selectList ([] :: [Filter User]) []
+ assertEqual "user table empty" 0 $ L.length users