mirror of
https://github.com/khodges42/nightShift.git
synced 2026-06-14 18:18:36 +00:00
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from pathlib import Path
|
|
import tempfile
|
|
import unittest
|
|
|
|
from nightshift.artifacts import ArtifactStore
|
|
from nightshift.config import load_config
|
|
from nightshift.init import init_project
|
|
from nightshift.status import build_status, format_status
|
|
from nightshift.tasks import parse_task_file
|
|
|
|
|
|
class StatusTests(unittest.TestCase):
|
|
def test_status_reports_counts_and_latest_run(self) -> None:
|
|
with tempfile.TemporaryDirectory() as directory:
|
|
root = Path(directory)
|
|
init_project(root)
|
|
ArtifactStore(root, ".nightshift", run_id="run-a").initialize_run()
|
|
config = load_config(root / "nightshift.yaml")
|
|
tasks = parse_task_file(config.project.root, config.project.task_file)
|
|
|
|
status = build_status(config, tasks)
|
|
output = format_status(status)
|
|
|
|
self.assertEqual(status.task_count, 1)
|
|
self.assertEqual(status.incomplete_count, 1)
|
|
self.assertEqual(status.next_task_id, "TASK-001")
|
|
self.assertIsNotNone(status.latest_run_dir)
|
|
self.assertIn("Project root:", output)
|
|
self.assertIn("Latest run:", output)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|