@@ -482,6 +482,36 @@ void completionListsOnlyAuthorizedOnlineAppointmentsAndPrivateConductChoices() t
482482 EspionageCommands .complete (leader , new String [] {"spymaster" , "sabotage" , "defense" , "5" }));
483483 }
484484
485+ @ Test
486+ void spymastersShareByCommandAndInvalidSharingArgumentsChangeNothing () throws Exception {
487+ offices ();
488+ assertTrue (
489+ EspionageCommands .handle (leader , new String [] {"spymaster" , "share" , "vassals" , "broad" }));
490+ assertEquals (IntelligenceTier .BROAD , home .getEspionage ().sharing (SharingPartner .VASSALS ));
491+ assertTrue (
492+ EspionageCommands .handle (
493+ leader , new String [] {"spymaster" , "share" , "overlord" , "reliable" }));
494+ assertEquals (IntelligenceTier .RELIABLE , home .getEspionage ().sharing (SharingPartner .OVERLORD ));
495+ assertTrue (
496+ EspionageCommands .handle (leader , new String [] {"spymaster" , "share" , "vassals" , "none" }));
497+ assertEquals (IntelligenceTier .UNKNOWN , home .getEspionage ().sharing (SharingPartner .VASSALS ));
498+ clearInvocations (leader );
499+ assertTrue (
500+ EspionageCommands .handle (leader , new String [] {"spymaster" , "share" , "allies" , "broad" }));
501+ assertTrue (
502+ EspionageCommands .handle (
503+ leader , new String [] {"spymaster" , "share" , "overlord" , "everything" }));
504+ assertEquals (IntelligenceTier .RELIABLE , home .getEspionage ().sharing (SharingPartner .OVERLORD ));
505+ verify (leader , times (2 )).sendMessage (contains ("<overlord|vassals>" ));
506+ assertTrue (EspionageCommands .complete (leader , new String [] {"spymaster" , "" }).contains ("share" ));
507+ assertEquals (
508+ List .of ("overlord" , "vassals" ),
509+ EspionageCommands .complete (leader , new String [] {"spymaster" , "share" , "" }));
510+ assertEquals (
511+ List .of ("rumours" , "reliable" ),
512+ EspionageCommands .complete (leader , new String [] {"spymaster" , "share" , "vassals" , "r" }));
513+ }
514+
485515 @ ParameterizedTest
486516 @ ValueSource (
487517 strings = {"null" , "offline" , "foreign" , "no-character" , "already-holder" , "cooldown" })
0 commit comments