diff options
Diffstat (limited to 'tests/HomeTest.hs')
-rw-r--r-- | tests/HomeTest.hs | 46 |
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 |