Coverage for src/tests/modules/training/test_get_training_schedule.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 Schema"."""
3import pytest
5from kwai_bc_training.get_training_schedule import (
6 GetTrainingSchedule,
7 GetTrainingScheduleCommand,
8)
9from kwai_bc_training.trainings.training_schedule import TrainingScheduleEntity
10from kwai_bc_training.trainings.training_schedule_db_repository import (
11 TrainingScheduleDbRepository,
12)
13from kwai_bc_training.trainings.training_schedule_repository import (
14 TrainingScheduleRepository,
15)
16from kwai_core.db.database import Database
17from kwai_core.domain.presenter import EntityPresenter
20@pytest.fixture(scope="module")
21def training_schema_repo(database: Database) -> TrainingScheduleRepository:
22 """A fixture for a training schema repository."""
23 return TrainingScheduleDbRepository(database)
26async def test_get_training_schema(
27 training_schema_repo: TrainingScheduleRepository,
28 make_training_schedule_in_db,
29):
30 """Test a successful execution of the use case."""
31 training_schema = await make_training_schedule_in_db()
32 presenter = EntityPresenter[TrainingScheduleEntity]()
33 command = GetTrainingScheduleCommand(id=training_schema.id.value)
34 await GetTrainingSchedule(training_schema_repo, presenter).execute(command)
35 assert training_schema == presenter.entity, (
36 f"The training schema with id {training_schema.id} should be returned"
37 )