Coverage for src/tests/modules/training/test_delete_training.py: 88%
17 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 "Delete Training"."""
3import pytest
5from kwai_bc_training.delete_training import DeleteTraining, DeleteTrainingCommand
6from kwai_bc_training.trainings.training_db_repository import TrainingDbRepository
7from kwai_bc_training.trainings.training_repository import (
8 TrainingNotFoundException,
9 TrainingRepository,
10)
11from kwai_core.db.database import Database
14@pytest.fixture
15def training_repo(database: Database) -> TrainingRepository:
16 """A fixture for a training repository."""
17 return TrainingDbRepository(database)
20async def test_delete_training(training_repo: TrainingRepository, make_training_in_db):
21 """Test the use case "Delete Training"."""
22 training = await make_training_in_db()
23 command = DeleteTrainingCommand(id=training.id.value)
24 try:
25 await DeleteTraining(training_repo).execute(command)
26 except TrainingNotFoundException as ex:
27 pytest.fail(str(ex))
29 with pytest.raises(TrainingNotFoundException):
30 await training_repo.get_by_id(training.id)