summaryrefslogtreecommitdiff
path: root/Omni/Task.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Task.hs')
-rw-r--r--Omni/Task.hs17
1 files changed, 12 insertions, 5 deletions
diff --git a/Omni/Task.hs b/Omni/Task.hs
index 571c72e..f10ae25 100644
--- a/Omni/Task.hs
+++ b/Omni/Task.hs
@@ -13,6 +13,7 @@ import qualified Omni.Namespace as Namespace
import Omni.Task.Core
import qualified Omni.Test as Test
import System.Directory (doesFileExist, removeFile)
+import System.Environment (setEnv)
main :: IO ()
main = Cli.main plan
@@ -165,18 +166,24 @@ unitTests :: Test.Tree
unitTests =
Test.group
"Unit tests"
- [ Test.unit "can create task" <| do
- -- Clean up before test
- exists <- doesFileExist ".tasks/tasks.jsonl"
- when exists <| removeFile ".tasks/tasks.jsonl"
-
+ [ Test.unit "setup test database" <| do
+ -- Set up test mode for all tests
+ setEnv "TASK_TEST_MODE" "1"
+
+ -- Clean up test database before all tests
+ let testFile = ".tasks/tasks-test.jsonl"
+ exists <- doesFileExist testFile
+ when exists <| removeFile testFile
initTaskDb
+ True Test.@?= True,
+ Test.unit "can create task" <| do
task <- createTask "Test task" WorkTask Nothing Nothing []
taskTitle task Test.@?= "Test task"
taskType task Test.@?= WorkTask
taskStatus task Test.@?= Open
null (taskDependencies task) Test.@?= True,
Test.unit "can list tasks" <| do
+ _ <- createTask "Test task for list" WorkTask Nothing Nothing []
tasks <- listTasks Nothing Nothing
not (null tasks) Test.@?= True,
Test.unit "ready tasks exclude blocked ones" <| do