mirror of
https://github.com/Start9Labs/registry.git
synced 2026-03-26 02:11:53 +00:00
base test setup
This commit is contained in:
20
test/Handler/AppSpec.hs
Normal file
20
test/Handler/AppSpec.hs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{-# LANGUAGE TypeFamilies #-}
|
||||||
|
|
||||||
|
module Handler.AppSpec (spec) where
|
||||||
|
|
||||||
|
import Startlude
|
||||||
|
import TestImport
|
||||||
|
|
||||||
|
spec :: Spec
|
||||||
|
spec = do
|
||||||
|
describe "GET /apps" $ do
|
||||||
|
withApp $ it "returns list of apps" $ do
|
||||||
|
request $ do
|
||||||
|
setMethod "GET"
|
||||||
|
setUrl ("/apps" :: Text)
|
||||||
|
printBody
|
||||||
|
bodyContains ""
|
||||||
|
statusIs 200
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
11
test/Main.hs
Normal file
11
test/Main.hs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
module Main where
|
||||||
|
|
||||||
|
import Test.Hspec.Runner
|
||||||
|
import qualified Spec
|
||||||
|
import Test.Hspec.Formatters
|
||||||
|
import qualified Handler.AppSpec as A
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = do
|
||||||
|
_ <- A.spec
|
||||||
|
hspecWith defaultConfig { configFormatter = Just progress } Spec.spec
|
||||||
29
test/TestImport.hs
Normal file
29
test/TestImport.hs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{-# LANGUAGE QuasiQuotes #-}
|
||||||
|
|
||||||
|
module TestImport
|
||||||
|
( module TestImport
|
||||||
|
, module X
|
||||||
|
) where
|
||||||
|
|
||||||
|
import Startlude
|
||||||
|
import Application (makeFoundation, makeLogWare)
|
||||||
|
import Foundation as X
|
||||||
|
import Test.Hspec as X
|
||||||
|
import Yesod.Default.Config2 (useEnv, loadYamlSettings)
|
||||||
|
import Yesod.Test as X
|
||||||
|
import Yesod.Core.Unsafe (fakeHandlerGetLogger)
|
||||||
|
|
||||||
|
runHandler :: Handler a -> YesodExample AgentCtx a
|
||||||
|
runHandler handler = do
|
||||||
|
app <- getTestYesod
|
||||||
|
fakeHandlerGetLogger appLogger app handler
|
||||||
|
|
||||||
|
withApp :: SpecWith (TestApp AgentCtx) -> Spec
|
||||||
|
withApp = before $ do
|
||||||
|
settings <- loadYamlSettings
|
||||||
|
["config/settings.yml"]
|
||||||
|
[]
|
||||||
|
useEnv
|
||||||
|
foundation <- makeFoundation settings
|
||||||
|
logWare <- liftIO $ makeLogWare foundation
|
||||||
|
return (foundation, logWare)
|
||||||
Reference in New Issue
Block a user