import unittest from pathlib import Path SCHEMA_PATH = Path(__file__).resolve().parents[1] / "schema.sql" class SchemaTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.schema = SCHEMA_PATH.read_text(encoding="utf-8") def table_block(self, table_name, next_table_name=None): start = f"CREATE TABLE `{table_name}`" self.assertIn(start, self.schema) block = self.schema.split(start, 1)[1] if next_table_name: block = block.split(f"CREATE TABLE `{next_table_name}`", 1)[0] return block def test_domain_and_tenant_tables_store_multi_select_icp_categories(self): domain = self.table_block("domain_intelligence", "latam_active_tenants") tenant = self.table_block("latam_active_tenants", "latam_key_leads") self.assertIn("`icp_categories` json", domain) self.assertIn("`icp_categories` json", tenant) def test_score_snapshot_preserves_icp_categories_used_for_scoring(self): snapshot = self.table_block("latam_tenant_score_snapshots") self.assertIn("`icp_categories` json", snapshot) if __name__ == "__main__": unittest.main()