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
« 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"."""
3import pytest
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
15@pytest.fixture
16def training_repo(database: Database) -> TrainingRepository:
17 """A fixture for a training repository."""
18 return TrainingDbRepository(database)
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."