Coverage for src/tests/modules/portal/news/test_news_item_db_repository.py: 100%
24 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 news item database repository."""
3import pytest
5from kwai_bc_portal.news.news_item_db_repository import NewsItemDbRepository
6from kwai_bc_portal.news.news_item_repository import (
7 NewsItemNotFoundException,
8)
9from kwai_core.db.database import Database
12pytestmark = pytest.mark.db
15async def test_create(make_news_item_in_db):
16 """Test if the creation was successful."""
17 news_item = await make_news_item_in_db()
18 assert not news_item.id.is_empty(), "There should be a news item created"
21async def test_get_all(make_news_item_in_db, database: Database):
22 """Test for get_all."""
23 news_item = await make_news_item_in_db()
24 repo = NewsItemDbRepository(database)
25 news_item = await repo.get_by_id(news_item.id)
26 assert news_item is not None, "There should be a news item"
29async def test_get_by_id(make_news_item_in_db, database: Database):
30 """Test for get_by_id."""
31 news_item = await make_news_item_in_db()
32 repo = NewsItemDbRepository(database)
33 entity = await repo.get_by_id(news_item.id)
34 assert entity is not None, f"There should be a news item with id {news_item.id}"
37async def test_delete(make_news_item_in_db, database: Database):
38 """Test the deletion of a news item."""
39 news_item = await make_news_item_in_db()
40 repo = NewsItemDbRepository(database)
42 await repo.delete(news_item)
44 with pytest.raises(NewsItemNotFoundException):
45 await repo.get_by_id(news_item.id)