test: add comprehensive tests across modules to increase coverage above 60%
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
"""Tests for app/api/settings.py module."""
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from fastapi import HTTPException
|
||||
|
||||
from app.api.settings import require_admin
|
||||
|
||||
|
||||
@pytest.mark.unit
|
||||
class TestRequireAdmin:
|
||||
"""Tests for require_admin dependency."""
|
||||
|
||||
def test_raises_403_when_no_user(self):
|
||||
"""Test that 403 is raised when no user in session."""
|
||||
mock_request = MagicMock()
|
||||
mock_request.session = {}
|
||||
|
||||
with pytest.raises(HTTPException) as exc_info:
|
||||
require_admin(mock_request)
|
||||
assert exc_info.value.status_code == 403
|
||||
|
||||
def test_raises_403_when_not_admin(self):
|
||||
"""Test that 403 is raised for non-admin user."""
|
||||
mock_request = MagicMock()
|
||||
mock_request.session = {"user": {"id": "1", "is_admin": False}}
|
||||
|
||||
with pytest.raises(HTTPException) as exc_info:
|
||||
require_admin(mock_request)
|
||||
assert exc_info.value.status_code == 403
|
||||
|
||||
def test_returns_user_when_admin(self):
|
||||
"""Test that admin user is returned."""
|
||||
mock_request = MagicMock()
|
||||
user = {"id": "admin", "is_admin": True}
|
||||
mock_request.session = {"user": user}
|
||||
|
||||
result = require_admin(mock_request)
|
||||
assert result == user
|
||||
Reference in New Issue
Block a user