feat(taskflow): add core task API, storage persistence, csv export, stats page, and test coverage

This commit is contained in:
Alexander Kalinovsky
2026-04-01 17:56:03 +03:00
commit 19d659df6b
31 changed files with 4197 additions and 0 deletions

45
tests/test_health.py Normal file
View File

@@ -0,0 +1,45 @@
from datetime import datetime
import pytest
from fastapi.testclient import TestClient
from app.main import app
client = TestClient(app)
def test_health_ok():
response = client.get("/health")
assert response.status_code == 200
data = response.json()
assert data["status"] == "ok"
assert "server_time" in data
# Validate ISO-8601 format (basic check via fromisoformat)
parsed = datetime.fromisoformat(data["server_time"])
assert isinstance(parsed, datetime)
def test_health_idempotent_time_increases():
response1 = client.get("/health")
response2 = client.get("/health")
assert response1.status_code == 200
assert response2.status_code == 200
data1 = response1.json()
data2 = response2.json()
t1 = datetime.fromisoformat(data1["server_time"])
t2 = datetime.fromisoformat(data2["server_time"])
assert t2 >= t1
def test_health_method_not_allowed():
response = client.post("/health")
assert response.status_code == 405