Scaffolding updates

This commit is contained in:
Michael Snoyman 2013-06-23 21:15:36 +03:00
parent f9be0a83bd
commit b5bb56d4e1
6 changed files with 67 additions and 65 deletions

View File

@ -1,6 +1,6 @@
{-# START_FILE .ghci #-} {-# START_FILE .ghci #-}
:set -i.:config:dist/build/autogen :set -i.:config:dist/build/autogen
:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls -XDeriveDataTypeable
{-# START_FILE .gitignore #-} {-# START_FILE .gitignore #-}
dist* dist*
@ -101,7 +101,6 @@ import Network.HTTP.Conduit (Manager)
import qualified Settings import qualified Settings
import Settings.Development (development) import Settings.Development (development)
import qualified Database.Persist import qualified Database.Persist
import Database.Persist.Sql (SqlPersistT)
import Settings.StaticFiles import Settings.StaticFiles
import Database.Persist.MongoDB hiding (master) import Database.Persist.MongoDB hiding (master)
import Settings (widgetFile, Extra (..)) import Settings (widgetFile, Extra (..))
@ -176,7 +175,7 @@ instance Yesod App where
, css_bootstrap_css , css_bootstrap_css
]) ])
$(widgetFile "default-layout") $(widgetFile "default-layout")
hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet") giveUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
-- This is done to provide an optimization for serving static files from -- This is done to provide an optimization for serving static files from
-- a separate domain. Please see the staticRoot setting in Settings.hs -- a separate domain. Please see the staticRoot setting in Settings.hs
@ -263,7 +262,7 @@ import Import
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getHomeR :: Handler RepHtml getHomeR :: Handler Html
getHomeR = do getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm (formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text) let submission = Nothing :: Maybe (FileInfo, Text)
@ -273,7 +272,7 @@ getHomeR = do
setTitle "Welcome To Yesod!" setTitle "Welcome To Yesod!"
$(widgetFile "homepage") $(widgetFile "homepage")
postHomeR :: Handler RepHtml postHomeR :: Handler Html
postHomeR = do postHomeR = do
((result, formWidget), formEnctype) <- runFormPost sampleForm ((result, formWidget), formEnctype) <- runFormPost sampleForm
let handlerName = "postHomeR" :: Text let handlerName = "postHomeR" :: Text
@ -5769,7 +5768,7 @@ module HomeTest
import TestImport import TestImport
import qualified Data.List as L import qualified Data.List as L
homeSpecs :: Specs homeSpecs :: Spec
homeSpecs = homeSpecs =
ydescribe "These are some example tests" $ do ydescribe "These are some example tests" $ do
@ -5808,7 +5807,8 @@ module TestImport
, module Foundation , module Foundation
, module Database.Persist , module Database.Persist
, runDB , runDB
, Specs , Spec
, Example
) where ) where
import Yesod.Test import Yesod.Test
@ -5821,7 +5821,8 @@ import Control.Monad.IO.Class (liftIO)
import Foundation import Foundation
import Model import Model
type Specs = YesodSpec App type Spec = YesodSpec App
type Example = YesodExample App
runDB :: Action (NoLoggingT (ResourceT IO)) a -> YesodExample App a runDB :: Action (NoLoggingT (ResourceT IO)) a -> YesodExample App a
runDB query = do runDB query = do

View File

@ -1,6 +1,6 @@
{-# START_FILE .ghci #-} {-# START_FILE .ghci #-}
:set -i.:config:dist/build/autogen :set -i.:config:dist/build/autogen
:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls -XDeriveDataTypeable
{-# START_FILE .gitignore #-} {-# START_FILE .gitignore #-}
dist* dist*
@ -182,7 +182,7 @@ instance Yesod App where
, css_bootstrap_css , css_bootstrap_css
]) ])
$(widgetFile "default-layout") $(widgetFile "default-layout")
hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet") giveUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
-- This is done to provide an optimization for serving static files from -- This is done to provide an optimization for serving static files from
-- a separate domain. Please see the staticRoot setting in Settings.hs -- a separate domain. Please see the staticRoot setting in Settings.hs
@ -271,7 +271,7 @@ import Import
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getHomeR :: Handler RepHtml getHomeR :: Handler Html
getHomeR = do getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm (formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text) let submission = Nothing :: Maybe (FileInfo, Text)
@ -281,7 +281,7 @@ getHomeR = do
setTitle "Welcome To Yesod!" setTitle "Welcome To Yesod!"
$(widgetFile "homepage") $(widgetFile "homepage")
postHomeR :: Handler RepHtml postHomeR :: Handler Html
postHomeR = do postHomeR = do
((result, formWidget), formEnctype) <- runFormPost sampleForm ((result, formWidget), formEnctype) <- runFormPost sampleForm
let handlerName = "postHomeR" :: Text let handlerName = "postHomeR" :: Text
@ -5798,7 +5798,7 @@ module HomeTest
import TestImport import TestImport
import qualified Data.List as L import qualified Data.List as L
homeSpecs :: Specs homeSpecs :: Spec
homeSpecs = homeSpecs =
ydescribe "These are some example tests" $ do ydescribe "These are some example tests" $ do
@ -5837,25 +5837,25 @@ module TestImport
, module Foundation , module Foundation
, module Database.Persist , module Database.Persist
, runDB , runDB
, Specs , Spec
, Example
) where ) where
import Yesod.Test import Yesod.Test
import Database.Persist hiding (get) import Database.Persist hiding (get)
import Database.Persist.Sql (runSqlPool, SqlPersist, Connection) import Database.Persist.Sql (SqlPersistM, runSqlPersistMPool)
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
import Control.Monad.Logger (NoLoggingT, runNoLoggingT)
import Control.Monad.IO.Class (liftIO) import Control.Monad.IO.Class (liftIO)
import Foundation import Foundation
import Model import Model
type Specs = YesodSpec App type Spec = YesodSpec App
type Example = YesodExample App
runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> YesodExample App a runDB :: SqlPersistM a -> Example a
runDB query = do runDB query = do
pool <- fmap connPool getTestYesod pool <- fmap connPool getTestYesod
liftIO $ runResourceT $ runNoLoggingT $ runSqlPool query pool liftIO $ runSqlPersistMPool query pool
{-# START_FILE tests/main.hs #-} {-# START_FILE tests/main.hs #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}

View File

@ -1,6 +1,6 @@
{-# START_FILE .ghci #-} {-# START_FILE .ghci #-}
:set -i.:config:dist/build/autogen :set -i.:config:dist/build/autogen
:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls -XDeriveDataTypeable
{-# START_FILE .gitignore #-} {-# START_FILE .gitignore #-}
dist* dist*
@ -186,7 +186,7 @@ instance Yesod App where
, css_bootstrap_css , css_bootstrap_css
]) ])
$(widgetFile "default-layout") $(widgetFile "default-layout")
hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet") giveUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
-- This is done to provide an optimization for serving static files from -- This is done to provide an optimization for serving static files from
-- a separate domain. Please see the staticRoot setting in Settings.hs -- a separate domain. Please see the staticRoot setting in Settings.hs
@ -301,7 +301,7 @@ import Language.Haskell.TH ( Exp(..) )
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getHomeR :: Handler RepHtml getHomeR :: Handler Html
getHomeR = do getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm (formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text) let submission = Nothing :: Maybe (FileInfo, Text)
@ -312,7 +312,7 @@ getHomeR = do
$(widgetFile "homepage") $(widgetFile "homepage")
$(fayFile' (ConE 'StaticR) "Home") $(fayFile' (ConE 'StaticR) "Home")
postHomeR :: Handler RepHtml postHomeR :: Handler Html
postHomeR = do postHomeR = do
((result, formWidget), formEnctype) <- runFormPost sampleForm ((result, formWidget), formEnctype) <- runFormPost sampleForm
let handlerName = "postHomeR" :: Text let handlerName = "postHomeR" :: Text
@ -881,7 +881,7 @@ import Language.Fay.Yesod
#ifdef FAY #ifdef FAY
import FFI import FFI
#else #else
import Language.Fay.FFI --import Language.Fay.FFI
#endif #endif
data Command = GetFib Int (Returns Int) data Command = GetFib Int (Returns Int)
@ -5884,7 +5884,7 @@ module HomeTest
import TestImport import TestImport
import qualified Data.List as L import qualified Data.List as L
homeSpecs :: Specs homeSpecs :: Spec
homeSpecs = homeSpecs =
ydescribe "These are some example tests" $ do ydescribe "These are some example tests" $ do
@ -5923,25 +5923,25 @@ module TestImport
, module Foundation , module Foundation
, module Database.Persist , module Database.Persist
, runDB , runDB
, Specs , Spec
, Example
) where ) where
import Yesod.Test import Yesod.Test
import Database.Persist hiding (get) import Database.Persist hiding (get)
import Database.Persist.Sql (runSqlPool, SqlPersist, Connection) import Database.Persist.Sql (SqlPersistM, runSqlPersistMPool)
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
import Control.Monad.Logger (NoLoggingT, runNoLoggingT)
import Control.Monad.IO.Class (liftIO) import Control.Monad.IO.Class (liftIO)
import Foundation import Foundation
import Model import Model
type Specs = YesodSpec App type Spec = YesodSpec App
type Example = YesodExample App
runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> YesodExample App a runDB :: SqlPersistM a -> Example a
runDB query = do runDB query = do
pool <- fmap connPool getTestYesod pool <- fmap connPool getTestYesod
liftIO $ runResourceT $ runNoLoggingT $ runSqlPool query pool liftIO $ runSqlPersistMPool query pool
{-# START_FILE tests/main.hs #-} {-# START_FILE tests/main.hs #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}

View File

@ -1,6 +1,6 @@
{-# START_FILE .ghci #-} {-# START_FILE .ghci #-}
:set -i.:config:dist/build/autogen :set -i.:config:dist/build/autogen
:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls -XDeriveDataTypeable
{-# START_FILE .gitignore #-} {-# START_FILE .gitignore #-}
dist* dist*
@ -182,7 +182,7 @@ instance Yesod App where
, css_bootstrap_css , css_bootstrap_css
]) ])
$(widgetFile "default-layout") $(widgetFile "default-layout")
hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet") giveUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
-- This is done to provide an optimization for serving static files from -- This is done to provide an optimization for serving static files from
-- a separate domain. Please see the staticRoot setting in Settings.hs -- a separate domain. Please see the staticRoot setting in Settings.hs
@ -271,7 +271,7 @@ import Import
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getHomeR :: Handler RepHtml getHomeR :: Handler Html
getHomeR = do getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm (formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text) let submission = Nothing :: Maybe (FileInfo, Text)
@ -281,7 +281,7 @@ getHomeR = do
setTitle "Welcome To Yesod!" setTitle "Welcome To Yesod!"
$(widgetFile "homepage") $(widgetFile "homepage")
postHomeR :: Handler RepHtml postHomeR :: Handler Html
postHomeR = do postHomeR = do
((result, formWidget), formEnctype) <- runFormPost sampleForm ((result, formWidget), formEnctype) <- runFormPost sampleForm
let handlerName = "postHomeR" :: Text let handlerName = "postHomeR" :: Text
@ -5772,7 +5772,7 @@ module HomeTest
import TestImport import TestImport
import qualified Data.List as L import qualified Data.List as L
homeSpecs :: Specs homeSpecs :: Spec
homeSpecs = homeSpecs =
ydescribe "These are some example tests" $ do ydescribe "These are some example tests" $ do
@ -5811,25 +5811,25 @@ module TestImport
, module Foundation , module Foundation
, module Database.Persist , module Database.Persist
, runDB , runDB
, Specs , Spec
, Example
) where ) where
import Yesod.Test import Yesod.Test
import Database.Persist hiding (get) import Database.Persist hiding (get)
import Database.Persist.Sql (runSqlPool, SqlPersist, Connection) import Database.Persist.Sql (SqlPersistM, runSqlPersistMPool)
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
import Control.Monad.Logger (NoLoggingT, runNoLoggingT)
import Control.Monad.IO.Class (liftIO) import Control.Monad.IO.Class (liftIO)
import Foundation import Foundation
import Model import Model
type Specs = YesodSpec App type Spec = YesodSpec App
type Example = YesodExample App
runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> YesodExample App a runDB :: SqlPersistM a -> Example a
runDB query = do runDB query = do
pool <- fmap connPool getTestYesod pool <- fmap connPool getTestYesod
liftIO $ runResourceT $ runNoLoggingT $ runSqlPool query pool liftIO $ runSqlPersistMPool query pool
{-# START_FILE tests/main.hs #-} {-# START_FILE tests/main.hs #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}

View File

@ -1,6 +1,6 @@
{-# START_FILE .ghci #-} {-# START_FILE .ghci #-}
:set -i.:config:dist/build/autogen :set -i.:config:dist/build/autogen
:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls -XDeriveDataTypeable
{-# START_FILE .gitignore #-} {-# START_FILE .gitignore #-}
dist* dist*
@ -26,7 +26,6 @@ import Yesod.Default.Main
import Yesod.Default.Handlers import Yesod.Default.Handlers
import Network.Wai.Middleware.RequestLogger import Network.Wai.Middleware.RequestLogger
import Network.HTTP.Conduit (newManager, def) import Network.HTTP.Conduit (newManager, def)
import Control.Monad.Logger (runLoggingT)
import System.IO (stdout) import System.IO (stdout)
import System.Log.FastLogger (mkLogger) import System.Log.FastLogger (mkLogger)
@ -161,7 +160,7 @@ instance Yesod App where
, css_bootstrap_css , css_bootstrap_css
]) ])
$(widgetFile "default-layout") $(widgetFile "default-layout")
hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet") giveUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
-- This is done to provide an optimization for serving static files from -- This is done to provide an optimization for serving static files from
-- a separate domain. Please see the staticRoot setting in Settings.hs -- a separate domain. Please see the staticRoot setting in Settings.hs
@ -220,7 +219,7 @@ import Import
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getHomeR :: Handler RepHtml getHomeR :: Handler Html
getHomeR = do getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm (formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text) let submission = Nothing :: Maybe (FileInfo, Text)
@ -230,7 +229,7 @@ getHomeR = do
setTitle "Welcome To Yesod!" setTitle "Welcome To Yesod!"
$(widgetFile "homepage") $(widgetFile "homepage")
postHomeR :: Handler RepHtml postHomeR :: Handler Html
postHomeR = do postHomeR = do
((result, formWidget), formEnctype) <- runFormPost sampleForm ((result, formWidget), formEnctype) <- runFormPost sampleForm
let handlerName = "postHomeR" :: Text let handlerName = "postHomeR" :: Text
@ -5649,7 +5648,7 @@ module HomeTest
import TestImport import TestImport
homeSpecs :: Specs homeSpecs :: Spec
homeSpecs = homeSpecs =
ydescribe "These are some example tests" $ do ydescribe "These are some example tests" $ do
@ -5676,13 +5675,15 @@ homeSpecs =
module TestImport module TestImport
( module Yesod.Test ( module Yesod.Test
, module Foundation , module Foundation
, Specs , Spec
, Example
) where ) where
import Yesod.Test import Yesod.Test
import Foundation import Foundation
type Specs = YesodSpec App type Spec = YesodSpec App
type Example = YesodExample App
{-# START_FILE tests/main.hs #-} {-# START_FILE tests/main.hs #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}

View File

@ -1,6 +1,6 @@
{-# START_FILE .ghci #-} {-# START_FILE .ghci #-}
:set -i.:config:dist/build/autogen :set -i.:config:dist/build/autogen
:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls -XDeriveDataTypeable
{-# START_FILE .gitignore #-} {-# START_FILE .gitignore #-}
dist* dist*
@ -182,7 +182,7 @@ instance Yesod App where
, css_bootstrap_css , css_bootstrap_css
]) ])
$(widgetFile "default-layout") $(widgetFile "default-layout")
hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet") giveUrlRenderer $(hamletFile "templates/default-layout-wrapper.hamlet")
-- This is done to provide an optimization for serving static files from -- This is done to provide an optimization for serving static files from
-- a separate domain. Please see the staticRoot setting in Settings.hs -- a separate domain. Please see the staticRoot setting in Settings.hs
@ -271,7 +271,7 @@ import Import
-- The majority of the code you will write in Yesod lives in these handler -- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so -- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file. -- inclined, or create a single monolithic file.
getHomeR :: Handler RepHtml getHomeR :: Handler Html
getHomeR = do getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm (formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text) let submission = Nothing :: Maybe (FileInfo, Text)
@ -281,7 +281,7 @@ getHomeR = do
setTitle "Welcome To Yesod!" setTitle "Welcome To Yesod!"
$(widgetFile "homepage") $(widgetFile "homepage")
postHomeR :: Handler RepHtml postHomeR :: Handler Html
postHomeR = do postHomeR = do
((result, formWidget), formEnctype) <- runFormPost sampleForm ((result, formWidget), formEnctype) <- runFormPost sampleForm
let handlerName = "postHomeR" :: Text let handlerName = "postHomeR" :: Text
@ -5768,7 +5768,7 @@ module HomeTest
import TestImport import TestImport
import qualified Data.List as L import qualified Data.List as L
homeSpecs :: Specs homeSpecs :: Spec
homeSpecs = homeSpecs =
ydescribe "These are some example tests" $ do ydescribe "These are some example tests" $ do
@ -5807,25 +5807,25 @@ module TestImport
, module Foundation , module Foundation
, module Database.Persist , module Database.Persist
, runDB , runDB
, Specs , Spec
, Example
) where ) where
import Yesod.Test import Yesod.Test
import Database.Persist hiding (get) import Database.Persist hiding (get)
import Database.Persist.Sql (runSqlPool, SqlPersist, Connection) import Database.Persist.Sql (SqlPersistM, runSqlPersistMPool)
import Control.Monad.Trans.Resource (ResourceT, runResourceT)
import Control.Monad.Logger (NoLoggingT, runNoLoggingT)
import Control.Monad.IO.Class (liftIO) import Control.Monad.IO.Class (liftIO)
import Foundation import Foundation
import Model import Model
type Specs = YesodSpec App type Spec = YesodSpec App
type Example = YesodExample App
runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> YesodExample App a runDB :: SqlPersistM a -> Example a
runDB query = do runDB query = do
pool <- fmap connPool getTestYesod pool <- fmap connPool getTestYesod
liftIO $ runResourceT $ runNoLoggingT $ runSqlPool query pool liftIO $ runSqlPersistMPool query pool
{-# START_FILE tests/main.hs #-} {-# START_FILE tests/main.hs #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}