Coverage for src/tests/modules/training/test_get_training.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module for testing the use case "Get Training".""" 

2 

3import pytest 

4 

5from kwai_bc_training.get_training import GetTraining, GetTrainingCommand 

6from kwai_bc_training.trainings.training import TrainingEntity 

7from kwai_bc_training.trainings.training_db_repository import TrainingDbRepository 

8from kwai_bc_training.trainings.training_repository import ( 

9 TrainingRepository, 

10) 

11from kwai_core.db.database import Database 

12from kwai_core.domain.presenter import EntityPresenter 

13 

14 

15@pytest.fixture 

16def training_repo(database: Database) -> TrainingRepository: 

17 """A fixture for a training repository.""" 

18 return TrainingDbRepository(database) 

19 

20 

21async def test_get_training(training_repo: TrainingRepository, make_training_in_db): 

22 """Test the use case "Get Training".""" 

23 training = await make_training_in_db() 

24 presenter = EntityPresenter[TrainingEntity]() 

25 command = GetTrainingCommand(id=training.id.value) 

26 await GetTraining(training_repo, presenter).execute(command) 

27 assert presenter.entity == training, "There training should be found."