Release beta 2.0.4.1023
check / local-gate (push) Failing after 1m37s

This commit is contained in:
JWeBot Contributors
2026-10-23 17:07:32 +08:00
committed by trae-solo-agent
parent 22f5240fa7
commit 08682045d4
32 changed files with 2286 additions and 233 deletions
+49 -4
View File
@@ -1291,9 +1291,9 @@ class LedgerAndApplicationTests(unittest.TestCase):
self.assertEqual(version["route"], "local")
self.assertIn("JWeBot 版本", version["text"])
self.assertIn("kernel", version["text"])
self.assertIn("最新版本:beta 2.0.2.1021", version["text"])
self.assertIn("更新时间:2026-10-21 18:11:35", version["text"])
self.assertIn("更新摘要:上下文追问小版本更新完成", version["text"])
self.assertIn("最新版本:beta 2.0.4.1023", version["text"])
self.assertIn("更新时间:2026-10-23 16:56:33", version["text"])
self.assertIn("更新摘要:许愿池和 21 点小版本更新完成", version["text"])
self.assertEqual(debug["route"], "local")
self.assertIn("调试埋点", debug["text"])
self.assertEqual(balance["route"], "local")
@@ -1574,7 +1574,7 @@ class LedgerAndApplicationTests(unittest.TestCase):
def test_trivia_quiz_broadcast_and_answer_rewards_mora(self):
bank = MODULE.trivia_question_bank()
self.assertGreater(len(bank), 200)
self.assertEqual(len(bank), 500)
display_text = "\n".join(
"\n".join(
[
@@ -1640,10 +1640,12 @@ class LedgerAndApplicationTests(unittest.TestCase):
delivery = self.application.deliver.call_args.args[0]
self.assertIn("冷门知识问答", delivery["result_text"])
self.assertIn("限时5分钟", delivery["result_text"])
self.assertIn("出现次数:1", delivery["result_text"])
self.assertIn("/回答 A", delivery["result_text"])
state = ledger.local_game("group-a", MODULE.TRIVIA_GAME_KEY)
self.assertIsNotNone(state)
assert state is not None
self.assertEqual(state["ask_count"], 1)
state["expires_at"] = time.time() + 300
ledger.save_local_game("group-a", MODULE.TRIVIA_GAME_KEY, state)
answer = str(state["answer"])
@@ -1664,6 +1666,49 @@ class LedgerAndApplicationTests(unittest.TestCase):
account = ledger._load_player_account("group-a", str(person["person_key"]))
self.assertEqual(account["balance"], 1000 + reward)
def test_trivia_quiz_prefers_least_asked_base_id(self):
group = "group-trivia-balance"
topic = "原神"
topic_base_ids = sorted(
{
str(question["base_id"])
for question in MODULE.trivia_question_bank()
if question["topic"] == topic
}
)
self.assertGreater(len(topic_base_ids), 3)
least_asked = topic_base_ids[2]
ask_counts = {base_id: 4 for base_id in topic_base_ids}
ask_counts[least_asked] = 1
self.application.ledger.save_local_game(
group,
MODULE.TRIVIA_HISTORY_KEY,
{
"recent_base_ids": topic_base_ids[: MODULE.TRIVIA_RECENT_BASE_LIMIT],
"ask_counts": ask_counts,
},
)
selected = self.application.clock.select_trivia_question(
group=group,
local_now=MODULE.datetime(
2026,
10,
23,
13,
0,
tzinfo=MODULE.BEIJING_TIMEZONE,
),
topic=topic,
)
self.assertEqual(selected["base_id"], least_asked)
self.assertEqual(selected["ask_count"], 2)
self.assertIn(
"出现次数:2",
self.application.clock.render_trivia_message(selected),
)
def test_trivia_quiz_can_be_started_by_local_command(self):
self.application.deepseek.complete = mock.Mock(side_effect=AssertionError)