"""FC-2d-iv: post.description + post.attachment_count round-trip.""" from datetime import UTC, datetime import pytest from backend.app.models import Artist, Post, Source pytestmark = pytest.mark.integration async def _post(db, **post_kwargs): artist = Artist(name="Nadia", slug="nadia") db.add(artist) await db.flush() src = Source(artist_id=artist.id, platform="web", url="http://x") db.add(src) await db.flush() post = Post( source_id=src.id, artist_id=artist.id, external_post_id="p1", post_date=datetime(2026, 3, 1, tzinfo=UTC), **post_kwargs, ) db.add(post) await db.flush() return post.id def test_post_has_new_columns(): cols = {c.name for c in Post.__table__.columns} assert "description" in cols assert "attachment_count" in cols @pytest.mark.asyncio async def test_description_and_attachment_count_round_trip(db): pid = await _post(db, description="

hi

", attachment_count=3) row = await db.get(Post, pid) assert row.description == "

hi

" assert row.attachment_count == 3 @pytest.mark.asyncio async def test_new_fields_default_null(db): pid = await _post(db) row = await db.get(Post, pid) assert row.description is None assert row.attachment_count is None