Coverage for src/tests/modules/portal/test_get_applications.py: 100%
16 statements
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1"""Tests for the use case: get applications."""
3import pytest
5from kwai_bc_portal.applications.application_db_repository import (
6 ApplicationDbRepository,
7)
8from kwai_bc_portal.applications.application_repository import (
9 ApplicationRepository,
10)
11from kwai_bc_portal.domain.application import ApplicationEntity
12from kwai_bc_portal.get_applications import GetApplications, GetApplicationsCommand
13from kwai_core.db.database import Database
14from kwai_core.domain.presenter import CountIterableAsyncPresenter
17pytestmark = pytest.mark.db
20@pytest.fixture(scope="module")
21def repo(database: Database) -> ApplicationRepository:
22 """Create an application repository."""
23 return ApplicationDbRepository(database)
26async def test_get_applications(repo: ApplicationRepository):
27 """Test the use case: get applications."""
28 command = GetApplicationsCommand()
29 presenter = CountIterableAsyncPresenter[ApplicationEntity]()
30 await GetApplications(repo, presenter).execute(command)
32 assert presenter.count >= 0, "Count must be 0 or greater"