@@ -615,3 +615,48 @@ async def test_add_with_bilibili_bangumi_target_parser(app: App, init_scheduler)
615
615
assert sub .tags == []
616
616
assert sub .target .platform_name == "bilibili-bangumi"
617
617
assert sub .target .target_name == "汉化日记 第三季"
618
+
619
+
620
+ @pytest .mark .asyncio
621
+ async def test_subscribe_platform_requires_browser (app : App , mocker : MockerFixture ):
622
+ from nonebot .adapters .onebot .v11 .event import Sender
623
+ from nonebot .adapters .onebot .v11 .message import Message
624
+
625
+ from nonebot_bison .plugin_config import plugin_config
626
+ from nonebot_bison .sub_manager import add_sub_matcher , common_platform
627
+ from nonebot_bison .platform import platform_manager , unavailable_paltforms
628
+
629
+ mocker .patch .object (plugin_config , "bison_use_browser" , False )
630
+ mocker .patch .dict (unavailable_paltforms , {"bilibili" : "需要启用 bison_use_browser" })
631
+
632
+ async with app .test_matcher (add_sub_matcher ) as ctx :
633
+ bot = ctx .create_bot ()
634
+ event_1 = fake_group_message_event (
635
+ message = Message ("添加订阅" ),
636
+ sender = Sender (card = "" , nickname = "test" , role = "admin" ),
637
+ to_me = True ,
638
+ )
639
+ ctx .receive_event (bot , event_1 )
640
+ ctx .should_pass_rule ()
641
+ ctx .should_call_send (
642
+ event_1 ,
643
+ BotReply .add_reply_on_platform (platform_manager = platform_manager , common_platform = common_platform ),
644
+ True ,
645
+ )
646
+ event_2 = fake_group_message_event (
647
+ message = Message ("全部" ), sender = Sender (card = "" , nickname = "test" , role = "admin" )
648
+ )
649
+ ctx .receive_event (bot , event_2 )
650
+ ctx .should_rejected ()
651
+ ctx .should_call_send (
652
+ event_2 ,
653
+ BotReply .add_reply_on_platform_input_allplatform (platform_manager ),
654
+ True ,
655
+ )
656
+ event_3 = fake_group_message_event (message = Message ("bilibili" ), sender = fake_admin_user )
657
+ ctx .receive_event (bot , event_3 )
658
+ ctx .should_call_send (
659
+ event_3 ,
660
+ BotReply .add_reply_platform_unavailable ("bilibili" , "需要启用 bison_use_browser" ),
661
+ True ,
662
+ )
0 commit comments