协商中再问按后台超时小时顺延并可强制清跟进时刻;工单与账号支持按筛选导出 Excel。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -10,6 +10,7 @@ from zoneinfo import ZoneInfo
|
||||
|
||||
from agent.policy.deal_followup import (
|
||||
SHANGHAI,
|
||||
add_workday_hours,
|
||||
air_route_keys,
|
||||
is_workday,
|
||||
leader_matches,
|
||||
@@ -41,12 +42,18 @@ class TestWorkdays(unittest.TestCase):
|
||||
self.assertTrue(is_workday(date(2026, 9, 20)))
|
||||
self.assertFalse(is_workday(date(2026, 10, 7)))
|
||||
|
||||
def test_next_followup_is_9am(self) -> None:
|
||||
when = next_followup_at(datetime(2026, 9, 18, 15, 30, tzinfo=SHANGHAI))
|
||||
self.assertEqual(when.hour, 9)
|
||||
self.assertEqual(when.minute, 0)
|
||||
def test_next_followup_48_work_hours_skips_weekend(self) -> None:
|
||||
# 周五 15:30 + 48 工作小时 → 跳过周末 → 周二 15:30
|
||||
when = next_followup_at(
|
||||
datetime(2026, 11, 13, 15, 30, tzinfo=SHANGHAI), hours=48
|
||||
)
|
||||
self.assertEqual(when.tzinfo, SHANGHAI)
|
||||
self.assertEqual(when.date(), date(2026, 9, 23))
|
||||
self.assertEqual(when, datetime(2026, 11, 17, 15, 30, tzinfo=SHANGHAI))
|
||||
|
||||
def test_add_workday_hours_from_rest_day(self) -> None:
|
||||
# 周六起点:从下周一 00:00 起算 10 小时 → 周一 10:00
|
||||
when = add_workday_hours(datetime(2026, 11, 14, 10, 0, tzinfo=SHANGHAI), 10)
|
||||
self.assertEqual(when, datetime(2026, 11, 16, 10, 0, tzinfo=SHANGHAI))
|
||||
|
||||
def test_skip_weekend_keep_weekday_night(self) -> None:
|
||||
start = datetime(2026, 11, 13, 17, 0, tzinfo=SHANGHAI) # 周五
|
||||
|
||||
Reference in New Issue
Block a user