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

1"""Tests for the use case: get applications.""" 

2 

3import pytest 

4 

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 

15 

16 

17pytestmark = pytest.mark.db 

18 

19 

20@pytest.fixture(scope="module") 

21def repo(database: Database) -> ApplicationRepository: 

22 """Create an application repository.""" 

23 return ApplicationDbRepository(database) 

24 

25 

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) 

31 

32 assert presenter.count >= 0, "Count must be 0 or greater"