myrmidon / python /tests /test_attendance_integration.py
tek Atrust
chore(deploy): build monolithic server for Hugging Face
d5ef46f
Raw
History Blame Contribute Delete
1.6 kB
from unittest.mock import MagicMock, patch
import pytest
from fastapi.testclient import TestClient
from src.server.main import app
client = TestClient(app)
# Physical Note: The attendance module is not currently implemented in the backend router.
# We mark these tests as xfail until the business logic is physically added.
@pytest.fixture
def patch_api_dependencies():
mock_supabase_client = MagicMock()
with patch("src.server.utils.get_supabase_client", return_value=mock_supabase_client):
yield mock_supabase_client
@pytest.mark.xfail(reason="Attendance API not physically implemented in the backend router yet.")
def test_attendance_clock_in_flow(patch_api_dependencies):
resp = client.post("/api/attendance/clock-in", json={"user_id": "u1"})
assert resp.status_code == 200
@pytest.mark.xfail(reason="Attendance API not physically implemented in the backend router yet.")
def test_attendance_double_clock_in(patch_api_dependencies):
resp = client.post("/api/attendance/clock-in", json={"user_id": "u1"})
assert resp.status_code == 400
@pytest.mark.xfail(reason="Attendance API not physically implemented in the backend router yet.")
def test_attendance_clock_out(patch_api_dependencies):
resp = client.post("/api/attendance/clock-out", json={"user_id": "u1"})
assert resp.status_code == 200
@pytest.mark.xfail(reason="Attendance API not physically implemented in the backend router yet.")
def test_get_attendance_status(patch_api_dependencies):
resp = client.get("/api/attendance/status?user_id=u1")
assert resp.status_code == 200