28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
from sqlalchemy.orm import Session
|
|
|
|
from app.demo_seed import seed_demo_data
|
|
from app.models import Comment, ContentItem, Task
|
|
from tests.helpers import make_test_client
|
|
|
|
|
|
def test_seed_demo_data_is_idempotent_and_removes_sensitive_fields():
|
|
with make_test_client() as (_client, engine):
|
|
with Session(engine) as session:
|
|
task_id = seed_demo_data(session)
|
|
second_task_id = seed_demo_data(session)
|
|
|
|
task = session.get(Task, task_id)
|
|
comments = session.query(Comment).all()
|
|
items = session.query(ContentItem).all()
|
|
|
|
assert second_task_id == task_id
|
|
assert task is not None
|
|
assert task.id.startswith("demo-")
|
|
assert task.status == "success"
|
|
assert comments
|
|
assert all(comment.author is None for comment in comments)
|
|
assert all(comment.source_comment_id is None for comment in comments)
|
|
assert all(comment.raw_data == "{}" for comment in comments)
|
|
assert all(item.url is None for item in items)
|
|
assert all(item.raw_data == "{}" for item in items)
|