from aiatlas.connectors.labs.meta_ai import BLOG, MetaAIConnector from aiatlas.sdk.facts import Target from tests.conftest import extract_from_fixture, fixture_path async def test_blog_listing(): facts = await extract_from_fixture(MetaAIConnector(), Target(url=BLOG, doc_type="listing", key="blog"), fixture_path("meta_ai", "blog.html")) events = {e.source_url: e for e in facts.events} assert len(events) == 10 spark = events["https://ai.meta.com/blog/introducing-muse-spark-msl/"] assert spark.summary == "Meta AI: Introducing Muse Spark: Scaling Towards Personal Superintelligence" assert spark.effective_at.date().isoformat() == "2026-04-08" assert events["https://ai.meta.com/blog/introducing-muse-image-muse-video-msl/"].effective_at.date().isoformat() == "2026-07-07" assert events["https://ai.meta.com/blog/brain2qwerty-brain-ai-human-communication/"].meta["categories"] == ["Research"] assert all(e.effective_at is not None for e in facts.events) assert len([t for t in facts.targets if t.doc_type == "news"]) == 10 assert facts.document_entity is not None and facts.document_entity.name == "Meta AI"