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

14 statements  

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

1"""Module for testing the use case "Update Training Schema".""" 

2 

3from kwai_bc_training.coaches.coach_db_repository import CoachDbRepository 

4from kwai_bc_training.teams.team_db_repository import TeamDbRepository 

5from kwai_bc_training.trainings.training_schedule import TrainingScheduleEntity 

6from kwai_bc_training.trainings.training_schedule_db_repository import ( 

7 TrainingScheduleDbRepository, 

8) 

9from kwai_bc_training.update_training_schedule import ( 

10 UpdateTrainingSchedule, 

11 UpdateTrainingScheduleCommand, 

12) 

13from kwai_core.db.database import Database 

14from kwai_core.domain.presenter import EntityPresenter 

15from kwai_core.domain.value_objects.owner import Owner 

16 

17 

18async def test_update_training_schedule( 

19 database: Database, 

20 make_training_schedule_in_db, 

21 owner: Owner, 

22): 

23 """Test the use case "Update Training".""" 

24 schema = await make_training_schedule_in_db() 

25 command = UpdateTrainingScheduleCommand( 

26 id=schema.id.value, 

27 name=schema.name, 

28 description=schema.description, 

29 weekday=schema.weekday.value, 

30 start_time="20:00", 

31 end_time="21:00", 

32 timezone="Europe/Brussels", 

33 active=schema.active, 

34 location=schema.location, 

35 remark="This is an update test", 

36 team_id=None, 

37 ) 

38 presenter = EntityPresenter[TrainingScheduleEntity]() 

39 await UpdateTrainingSchedule( 

40 TrainingScheduleDbRepository(database), 

41 TeamDbRepository(database), 

42 CoachDbRepository(database), 

43 owner, 

44 presenter, 

45 ).execute(command) 

46 

47 assert presenter.entity is not None, "There should be a training schedule"