on master help sign in
servant/doc/tutorial/test/JavascriptSpec.hs
35 lines 1.0 kB history raw
1{-# LANGUAGE OverloadedStrings #-}
3module JavascriptSpec where
5import Data.List
6import Data.String
7import Data.String.Conversions
8import Test.Hspec
9import Test.Hspec.Wai
11import Javascript
13spec :: Spec
14spec = do
15 describe "apiJS" $ do
16 it "is contained verbatim in Javascript.lhs" $ do
17 code <- readFile "Javascript.lhs"
18 cs apiJS1 `shouldSatisfy` (`isInfixOf` code)
19 cs apiJS3 `shouldSatisfy` (`isInfixOf` code)
20 cs apiJS4 `shouldSatisfy` (`isInfixOf` code)
21 cs apiJS6 `shouldSatisfy` (`isInfixOf` code)
23 describe "writeJSFiles" $ do
24 it "[not a test] write apiJS to static/api.js" $ do
25 writeJSFiles
27 describe "app" $ with (return app) $ do
28 context "/api.js" $ do
29 it "delivers apiJS" $ do
30 get "/api.js" `shouldRespondWith` (fromString (cs apiJS1))
32 context "/" $ do
33 it "delivers something" $ do
34 get "" `shouldRespondWith` 200
35 get "/" `shouldRespondWith` 200