feat: 票据合规预审助手首版 v1.0.0(verify-invoice-default)

This commit is contained in:
chenfuqiang
2026-09-13 13:48:32 +08:00
commit ddf8044dc0
207 changed files with 31090 additions and 0 deletions

42
tests/test_db_smoke.py Normal file
View File

@@ -0,0 +1,42 @@
# -*- coding: utf-8 -*-
"""init_db:幂等创建元数据表与本技能业务表。"""
from __future__ import annotations
import unittest
from _support import IsolatedDataRoot
_BUSINESS_TABLES = {"expense_standards", "holiday_calendar", "invoice_records", "prereview_reports", "taxid_whitelist"}
class TestDbSmoke(unittest.TestCase):
def test_init_db_idempotent_metadata_only(self) -> None:
with IsolatedDataRoot():
from db.connection import get_conn, init_db
from db.display_metadata import METADATA_TABLES, iter_user_tables
init_db()
init_db()
conn = get_conn()
try:
cur = conn.cursor()
cur.execute(
"SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'"
)
tables = {str(row[0]) for row in cur.fetchall()}
self.assertIn("_jiangchang_tables", tables)
self.assertIn("_jiangchang_columns", tables)
self.assertNotIn("task_logs", tables)
self.assertEqual(
sorted(iter_user_tables(cur)),
sorted(_BUSINESS_TABLES),
)
leftover = tables - METADATA_TABLES - _BUSINESS_TABLES
self.assertEqual(leftover, set())
finally:
conn.close()
if __name__ == "__main__":
unittest.main()