"""Flask route smoke tests (no Redis)."""

from __future__ import annotations

import unittest
from unittest.mock import MagicMock

from web.config import WebConfig
from web.server import create_app


class TestServer(unittest.TestCase):
    def test_status_route(self) -> None:
        redis_io = MagicMock()
        redis_io.get_json.return_value = None
        cfg = WebConfig()
        app = create_app(cfg, redis_io)
        client = app.test_client()
        res = client.get("/api/status")
        self.assertEqual(res.status_code, 200)

    def test_command_validation_400(self) -> None:
        redis_io = MagicMock()
        cfg = WebConfig()
        app = create_app(cfg, redis_io)
        client = app.test_client()
        res = client.post("/api/command", json={"op": "bad_op"})
        self.assertEqual(res.status_code, 400)


if __name__ == "__main__":
    unittest.main()
