feat: fundar plataforma mais humana
This commit is contained in:
57
tests/test_contract_snapshots_status.py
Normal file
57
tests/test_contract_snapshots_status.py
Normal file
@@ -0,0 +1,57 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from mais_humana.contract import build_contract, contract_markdown
|
||||
from mais_humana.models import ReportBundle
|
||||
from mais_humana.snapshots import EcosystemSnapshot, PlatformScoreSnapshot, diff_snapshots, snapshot_delta_markdown, write_snapshot, load_snapshot
|
||||
from mais_humana.status_pages import orders_index_markdown
|
||||
from tests.helpers import make_tmp
|
||||
|
||||
|
||||
class ContractSnapshotsStatusTests(unittest.TestCase):
|
||||
def test_contract_exports_core_surface_metadata(self) -> None:
|
||||
bundle = ReportBundle(
|
||||
output_root="out",
|
||||
generated_files=(),
|
||||
platform_count=14,
|
||||
profile_count=13,
|
||||
matrix_cells=182,
|
||||
total_code_lines_analyzed=10000,
|
||||
warnings=(),
|
||||
)
|
||||
contract = build_contract(bundle, ())
|
||||
self.assertEqual(contract.contract_version, "mais-humana.contract.v1")
|
||||
self.assertGreaterEqual(len(contract.surfaces), 5)
|
||||
markdown = contract_markdown(contract)
|
||||
self.assertIn("Contrato publico", markdown)
|
||||
self.assertIn("human_matrix", markdown)
|
||||
|
||||
def test_snapshot_roundtrip_and_diff(self) -> None:
|
||||
tmp = make_tmp()
|
||||
path = tmp / "snapshot.json"
|
||||
before = EcosystemSnapshot(
|
||||
generated_at="before",
|
||||
platforms=(PlatformScoreSnapshot("identity", 50, 10, 2, ()),),
|
||||
)
|
||||
after = EcosystemSnapshot(
|
||||
generated_at="after",
|
||||
platforms=(PlatformScoreSnapshot("identity", 70, 12, 5, ()), PlatformScoreSnapshot("business", 60, 20, 4, ())),
|
||||
)
|
||||
write_snapshot(path, before)
|
||||
loaded = load_snapshot(path)
|
||||
self.assertIsNotNone(loaded)
|
||||
deltas = diff_snapshots(loaded, after)
|
||||
self.assertEqual(len(deltas), 2)
|
||||
text = snapshot_delta_markdown(deltas)
|
||||
self.assertIn("identity", text)
|
||||
self.assertIn("business", text)
|
||||
|
||||
def test_status_order_index_handles_empty_orders(self) -> None:
|
||||
text = orders_index_markdown(())
|
||||
self.assertIn("Indice de ordens", text)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user