59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
import pytest
|
|
|
|
from src.services.vsp_service import vsp_status_to_is_active
|
|
|
|
|
|
@pytest.mark.parametrize("status, expected", [("active", True), ("closed", False), ("all", None)])
|
|
def test_vsp_status_to_is_active(status, expected):
|
|
assert vsp_status_to_is_active(status) is expected
|
|
|
|
|
|
# --- выгрузка и dropdown (AURORA-1883, задача 2) ---
|
|
from datetime import date
|
|
from unittest.mock import AsyncMock, MagicMock
|
|
|
|
from src.db.models import UserRoleEnum
|
|
from src.services.vsp_service import VSPService
|
|
|
|
|
|
def _admin():
|
|
user = MagicMock()
|
|
user.id = 1
|
|
user.role_id = UserRoleEnum.ADMIN
|
|
return user
|
|
|
|
|
|
def _dropdown_service() -> VSPService:
|
|
service = VSPService.__new__(VSPService)
|
|
service.vsp_repo = MagicMock()
|
|
service.vsp_repo.get_list = AsyncMock(return_value=(0, []))
|
|
service.form_repo = MagicMock()
|
|
service.form_repo.get = AsyncMock(return_value=None)
|
|
service._get_scoped_ssp_ids = AsyncMock(return_value=None)
|
|
service._sync_closed_records = AsyncMock()
|
|
return service
|
|
|
|
|
|
async def test_get_dropdown_include_inactive_passes_none():
|
|
service = _dropdown_service()
|
|
await service.get_dropdown(user=_admin(), ssp_id=2, include_inactive=True, with_count=True)
|
|
assert service.vsp_repo.get_list.await_args.kwargs["is_active"] is None
|
|
|
|
|
|
async def test_get_dropdown_default_active_only():
|
|
service = _dropdown_service()
|
|
await service.get_dropdown(user=_admin(), ssp_id=2, with_count=True)
|
|
assert service.vsp_repo.get_list.await_args.kwargs["is_active"] is True
|
|
|
|
|
|
async def test_export_xlsx_status_closed():
|
|
service = VSPService.__new__(VSPService)
|
|
service.get_list = AsyncMock(return_value=[])
|
|
|
|
await service.export_xlsx(user=_admin(), status="closed", close_date_start=date(2021, 1, 1))
|
|
|
|
kwargs = service.get_list.await_args.kwargs
|
|
assert kwargs["is_active"] is False
|
|
assert kwargs["close_date_start"] == date(2021, 1, 1)
|
|
assert kwargs["close_date_end"] is None
|