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

17 statements  

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

1"""Module for testing the use case "Delete News Item".""" 

2 

3import pytest 

4 

5from kwai_bc_portal.delete_news_item import DeleteNewsItem, DeleteNewsItemCommand 

6from kwai_bc_portal.domain.news_item import NewsItemEntity 

7from kwai_bc_portal.get_news_item import GetNewsItem, GetNewsItemCommand 

8from kwai_bc_portal.news.news_item_db_repository import NewsItemDbRepository 

9from kwai_bc_portal.news.news_item_repository import NewsItemNotFoundException 

10from kwai_core.db.database import Database 

11from kwai_core.domain.presenter import EntityPresenter 

12 

13 

14async def test_delete_news_item(database: Database, make_news_item_in_db): 

15 """Test delete news item.""" 

16 repo = NewsItemDbRepository(database) 

17 news_item = await make_news_item_in_db() 

18 command = DeleteNewsItemCommand(id=news_item.id.value) 

19 await DeleteNewsItem(repo).execute(command) 

20 

21 presenter = EntityPresenter[NewsItemEntity]() 

22 get_command = GetNewsItemCommand(id=news_item.id.value) 

23 with pytest.raises(NewsItemNotFoundException): 

24 await GetNewsItem(repo, presenter).execute(get_command)