packages feed

Villefort-0.1.2.6: test/Spec.hs

import Test.Hspec
import System.Exit (exitFailure)
import Control.Concurrent
import Control.Monad.Reader
import Villefort
import Villefort.Config
import Villefort.Definitions
import Villefort.Database
import Villefort
import Villefort.Server
import Villefort.Todo
import Database.HDBC.Sqlite3
import Database.HDBC hiding (run)
import Test.QuickCheck.Monadic
import Test.QuickCheck
import Test.WebDriver

main :: IO ()
main = do
  forkIO (villefort def {port = 999,noCustom = True})
  runSession  defaultConfig $ openPage "localhost:999"

  {-
  hspec $ do
    describe "databse" $ do
      it "does" $ do
        quickCheckWith args prop_insert
-}

insertTest   title des due sub= do
  recreate
  runReaderT (addTask des title due sub) test
  runReaderT qetTasks' test

args = stdArgs {
  maxSuccess = 1000
  }
  
prop_insert titl des du su= monadicIO $ do
  row <- run $  insertTest titl des du su
  assert ((row !! 0) == Row {
             rid=2,
             title=titl,
             description=des,
             due=du,
             subject=su,
             time = 0,
             Villefort.Todo.pred = 0.0})
           
 
test = def {
  database = "test/test.db"
           }

recreate :: IO ()
recreate = do
  runReaderT (execQuery "delete from todo" "") test
  runReaderT (execQuery "insert into todo (id) Values (1)" "") test