Release beta 1.1.1 stacked scan boosts

This commit is contained in:
JWeBot Contributors
2026-10-16 17:31:45 +08:00
parent 35ef82f14f
commit 522e349491
20 changed files with 72 additions and 65 deletions
+3 -3
View File
@@ -924,9 +924,9 @@ class LedgerAndApplicationTests(unittest.TestCase):
self.assertEqual(version["route"], "local")
self.assertIn("JWeBot 版本", version["text"])
self.assertIn("kernel", version["text"])
self.assertIn("最新版本:beta 1.1.0.1016", version["text"])
self.assertIn("更新时间:2026-10-16 17:04:25", version["text"])
self.assertIn("更新摘要:修复 OCR 偶发重复识别", version["text"])
self.assertIn("最新版本:beta 1.1.1.1016", version["text"])
self.assertIn("更新时间:2026-10-16 17:19:45", version["text"])
self.assertIn("更新摘要:修复扫码加权重复购买", version["text"])
self.assertEqual(debug["route"], "local")
self.assertIn("调试埋点", debug["text"])
self.assertEqual(balance["route"], "local")
+7 -2
View File
@@ -116,7 +116,7 @@ class Release105PrimogemTests(unittest.TestCase):
def test_scan_boost_and_taffy_say_spend_primogem_resources(self):
self.command("/原石")
account = self.state()
account["primogems"] = 2
account["primogems"] = 3
self.engine.ledger._save_player_account(
"group-a",
self.engine.ledger.resolve_person("group-a", "Alice")["person_key"],
@@ -132,7 +132,12 @@ class Release105PrimogemTests(unittest.TestCase):
self.assertIn(bob_key, boost_targets)
ranking = self.command("/扫码榜", event_id="scan-ranking-after-boost")
self.assertIn("下一小时扫码权重:", ranking)
self.assertIn("bob 5", ranking)
self.assertIn("bob 6", ranking)
second_boost = self.command("/扫码加权 Bob", event_id="scan-boost-second")
self.assertIn("已给 bob 增加整点扫码权重", second_boost)
stacked = self.command("/扫码榜", event_id="scan-ranking-stacked")
self.assertIn("bob 11", stacked)
speech = self.command("/Taffy发话 今天也要加班吗")
self.assertEqual(speech, "Taffy:今天也要加班吗喵")
+12 -16
View File
@@ -20,7 +20,7 @@ SPEC.loader.exec_module(MODULE)
class ReleaseUpdateTests(unittest.TestCase):
release = "beta 1.1.0.1016"
release = "beta 1.1.1.1016"
def setUp(self):
self.temporary = tempfile.TemporaryDirectory()
@@ -111,14 +111,15 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertEqual(summary, "第一行更新摘要, 同一条摘要可以换行。")
announcement = MODULE.build_announcement(self.release, summary)
self.assertIn(f"{self.release} 更新现已完成", announcement)
self.assertIn("更新补偿:摩拉 x200,原石 x1", announcement)
self.assertIn("更新补偿:摩拉 x200", announcement)
self.assertNotIn("原石 x1", announcement)
self.assertNotIn("第二条", announcement)
def test_policy_release_announces_primogem(self):
release = "beta 1.0.5.1016"
self.assertEqual(MODULE.primogem_compensation_amount(release), 1)
announcement = MODULE.build_announcement(release, "原石系统上线。")
self.assertIn("更新补偿:摩拉 x200,原石 x1", announcement)
for release in ("beta 1.0.5.1016", "beta 1.1.0.1016"):
self.assertEqual(MODULE.primogem_compensation_amount(release), 1)
announcement = MODULE.build_announcement(release, "原石系统上线。")
self.assertIn("更新补偿:摩拉 x200,原石 x1", announcement)
def test_patch_release_without_policy_does_not_announce_primogem(self):
release = "beta 1.1.1.1016"
@@ -161,7 +162,7 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertIn("更新摩拉账户并修复重复回复问题", delivered[0][2])
self.assertEqual([state["balance"] for state in self.account_states()], [1200, 250])
for state in self.account_states():
self.assertEqual(state["primogems"], 1)
self.assertEqual(state["primogems"], 0)
matches = [
event
for event in state["coin_events"]
@@ -173,14 +174,9 @@ class ReleaseUpdateTests(unittest.TestCase):
primogem_matches = [
event
for event in state["primogem_events"]
if event["delta"] == 1
and event["reason"] == f"{self.release} 版本更新补偿"
if event["reason"] == f"{self.release} 版本更新补偿"
]
self.assertEqual(len(primogem_matches), 1)
self.assertEqual(
primogem_matches[0]["created_at"],
applied_at.timestamp(),
)
self.assertEqual(primogem_matches, [])
self.assertEqual(self.announcement_marker()["state"], "delivered")
self.assertEqual(len(list(self.backups.glob("*.sqlite3"))), 1)
@@ -198,7 +194,7 @@ class ReleaseUpdateTests(unittest.TestCase):
deliverer=uncertain,
)
self.assertEqual([state["balance"] for state in self.account_states()], [1200, 250])
self.assertEqual([state["primogems"] for state in self.account_states()], [1, 1])
self.assertEqual([state["primogems"] for state in self.account_states()], [0, 0])
self.assertEqual(self.announcement_marker()["state"], "uncertain")
called = []
@@ -229,7 +225,7 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertEqual(result["compensation"], "already_applied")
self.assertEqual(len(called), 1)
self.assertEqual([state["balance"] for state in self.account_states()], [1200, 250])
self.assertEqual([state["primogems"] for state in self.account_states()], [1, 1])
self.assertEqual([state["primogems"] for state in self.account_states()], [0, 0])
self.assertEqual(self.announcement_marker()["state"], "delivered")