移除 command_guard 中的群成员检查,更新对应测试
This commit is contained in:
@@ -98,6 +98,4 @@ class CommandGuard:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def ensure_access_and_points(self, message: Any, cost: int, command_label: str) -> bool:
|
def ensure_access_and_points(self, message: Any, cost: int, command_label: str) -> bool:
|
||||||
if not self.ensure_group_member(message, command_label):
|
|
||||||
return False
|
|
||||||
return self.io_layer.ensure_query_points(message, cost, command_label)
|
return self.io_layer.ensure_query_points(message, cost, command_label)
|
||||||
|
|||||||
@@ -11,22 +11,7 @@ def _message():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_guard_blocks_non_member_before_points_charge():
|
def test_guard_charges_points():
|
||||||
fake_bot = SimpleNamespace(
|
|
||||||
reply_to=Mock(),
|
|
||||||
get_chat_member=Mock(return_value=SimpleNamespace(status="left")),
|
|
||||||
)
|
|
||||||
io_layer = SimpleNamespace(bot=fake_bot, ensure_query_points=Mock(return_value=True))
|
|
||||||
guard = CommandGuard(io_layer=io_layer, group_chat_id="-100123")
|
|
||||||
|
|
||||||
ok = guard.ensure_access_and_points(_message(), 1, "/city")
|
|
||||||
|
|
||||||
assert ok is False
|
|
||||||
assert io_layer.ensure_query_points.call_count == 0
|
|
||||||
assert fake_bot.reply_to.call_count == 1
|
|
||||||
|
|
||||||
|
|
||||||
def test_guard_allows_member_then_charges_points():
|
|
||||||
fake_bot = SimpleNamespace(
|
fake_bot = SimpleNamespace(
|
||||||
reply_to=Mock(),
|
reply_to=Mock(),
|
||||||
get_chat_member=Mock(return_value=SimpleNamespace(status="member")),
|
get_chat_member=Mock(return_value=SimpleNamespace(status="member")),
|
||||||
|
|||||||
Reference in New Issue
Block a user