"""
Tests for FastAPI admin endpoints
"""
import pytest
from fastapi.testclient import TestClient
from api.admin import app

client = TestClient(app)


class TestAdminAPI:
    """Test cases for admin API"""
    
    def test_root_endpoint(self):
        """Test root endpoint"""
        response = client.get("/")
        assert response.status_code == 200
        data = response.json()
        assert data["message"] == "Voltie OCPP Admin API"
        assert "version" in data
    
    def test_health_check(self):
        """Test health check endpoint"""
        response = client.get("/health")
        assert response.status_code == 200
        data = response.json()
        assert data["status"] == "healthy"
        assert data["service"] == "voltie-ocpp-admin"
    
    def test_list_charge_points(self):
        """Test charge points listing"""
        response = client.get("/charge-points")
        assert response.status_code == 200
        data = response.json()
        assert isinstance(data, list)
    
    def test_get_stats(self):
        """Test stats endpoint"""
        response = client.get("/stats")
        assert response.status_code == 200
        data = response.json()
        assert "total_charge_points" in data
        assert "connected_charge_points" in data


if __name__ == "__main__":
    pytest.main([__file__])
