Coverage for src/tests/modules/portal/test_update_application.py: 100%

13 statements  

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

1"""Module for testing the "Update Application" use case.""" 

2 

3from kwai_bc_portal.applications.application_db_repository import ( 

4 ApplicationDbRepository, 

5) 

6from kwai_bc_portal.domain.application import ApplicationEntity 

7from kwai_bc_portal.update_application import ( 

8 UpdateApplication, 

9 UpdateApplicationCommand, 

10) 

11from kwai_core.db.database import Database 

12from kwai_core.domain.presenter import EntityPresenter 

13 

14 

15async def test_update_application(database: Database, make_application_in_db): 

16 """Test the "Update Application" use case.""" 

17 application = await make_application_in_db() 

18 application_repo = ApplicationDbRepository(database) 

19 command = UpdateApplicationCommand( 

20 id=application.id.value, 

21 title=application.title, 

22 short_description=application.short_description, 

23 description=application.description, 

24 weight=application.weight, 

25 events=application.can_contain_events, 

26 pages=application.can_contain_pages, 

27 news=application.can_contain_news, 

28 remark="Updated with test_update_application", 

29 ) 

30 presenter = EntityPresenter[ApplicationEntity]() 

31 await UpdateApplication(application_repo, presenter).execute(command) 

32 assert presenter.entity is not None, "There should be an updated application." 

33 assert presenter.entity.remark == "Updated with test_update_application", ( 

34 "The application should be updated." 

35 )