"""OA 菜单角标:待办数 / 草稿数""" import unittest from unittest.mock import MagicMock, patch from app.crud import oa_instance_draft as oid_crud from app.services import oa_engine as eng class TestCountPendingTasks(unittest.TestCase): def test_filters_approval_pending_for_user(self): db = MagicMock() q = db.query.return_value filtered = q.filter.return_value filtered.count.return_value = 3 n = eng.count_pending_tasks(db, tenant_no="t1", user_id="u1") self.assertEqual(n, 3) db.query.assert_called_once() q.filter.assert_called_once() filtered.count.assert_called_once() class TestCountDrafts(unittest.TestCase): def test_filters_owner_and_tenant(self): db = MagicMock() q = db.query.return_value filtered = q.filter.return_value filtered.count.return_value = 5 n = oid_crud.count_drafts(db, tenant_no="t1", owner_user_id="u1") self.assertEqual(n, 5) db.query.assert_called_once() q.filter.assert_called_once() filtered.count.assert_called_once() if __name__ == "__main__": unittest.main()