-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A persistent-sqlite companion library for sydtest
--
-- A persistent-sqlite companion library for sydtest
@package sydtest-persistent-sqlite
@version 0.0.0.0
-- | Testing with an in-memory sqlite database using persistent-sqlite
--
-- For a fully worked example, see sydtest-yesod/blog-example.
module Test.Syd.Persistent.Sqlite
-- | Declare a test suite that uses a database connection.
--
-- This sets up the database connection around every test, so state is
-- not preserved accross tests.
persistSqliteSpec :: Migration -> SpecWith ConnectionPool -> SpecWith a
-- | Set up a sqlite connection and migrate it to run the given function.
withConnectionPool :: Migration -> (ConnectionPool -> IO ()) -> IO ()
-- | The SetupFunc version of withConnectionPool.
connectionPoolSetupFunc :: Migration -> SetupFunc () ConnectionPool
-- | A wrapped version of connectionPoolSetupFunc
connectionPoolSetupFunc' :: SetupFunc Migration ConnectionPool
-- | Get a connection from the pool, run the given action, and then return
-- the connection to the pool.
--
-- Note: This function previously timed out after 2 seconds, but this
-- behavior was buggy and caused more problems than it solved. Since
-- version 2.1.2, it performs no timeout checks.
runSqlPool :: forall backend m a. (MonadUnliftIO m, BackendCompatible SqlBackend backend) => ReaderT backend m a -> Pool backend -> m a
-- | A flipped version of runSqlPool to run your tests
runSqliteTest :: ConnectionPool -> SqlPersistT IO a -> IO a