Skip to content

Commit

Permalink
Fixed errors and tests for CompleteChallengeCommandTest
Browse files Browse the repository at this point in the history
  • Loading branch information
tastybento committed Sep 24, 2021
1 parent 018455f commit c21cae9
Showing 1 changed file with 27 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
@RunWith(PowerMockRunner.class)
@PrepareForTest({Bukkit.class, BentoBox.class, ChatColor.class, Utils.class, TryToComplete.class, Util.class})
public class CompleteChallengeCommandTest {

@Mock
private CompositeCommand ic;
private UUID uuid;
Expand All @@ -73,7 +73,7 @@ public class CompleteChallengeCommandTest {
private Island island;
@Mock
private ChallengesAddon addon;

private CompleteChallengeCommand cc;
@Mock
private World world;
Expand All @@ -83,7 +83,7 @@ public class CompleteChallengeCommandTest {
private IslandWorldManager iwm;
@Mock
private GameModeAddon gameModeAddon;
@Mock

private Settings settings;
@Mock
private Challenge challenge;
Expand Down Expand Up @@ -117,7 +117,7 @@ public void setUp() throws Exception {
when(iwm.getAddon(any())).thenReturn(optionalAddon);
when(plugin.getIWM()).thenReturn(iwm);

// Game Mode Addon
// Game Mode Addon
@NonNull
Optional<CompositeCommand> optionalAdmin = Optional.of(ic);
when(gameModeAddon.getAdminCommand()).thenReturn(optionalAdmin);
Expand Down Expand Up @@ -152,33 +152,34 @@ public void setUp() throws Exception {
when(chm.getChallenge(anyString())).thenReturn(challenge);
List<String> nameList = Arrays.asList("world_maker", "world_placer", "bad_challenge_name", "world_breaker");
when(chm.getAllChallengesNames(any())).thenReturn(nameList);


// ChatColor
PowerMockito.mockStatic(ChatColor.class);
when(ChatColor.translateAlternateColorCodes(any(char.class), anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgument(1, String.class));

// Settings
settings = new Settings();
when(addon.getChallengesSettings()).thenReturn(settings);
when(settings.getVisibilityMode()).thenReturn(VisibilityMode.VISIBLE);
settings.setVisibilityMode(VisibilityMode.VISIBLE);

// Island
when(plugin.getIslands()).thenReturn(im);
when(im.getIsland(any(), any(User.class))).thenReturn(island);

// Utils
PowerMockito.mockStatic(Utils.class);
when(Utils.getGameMode(any())).thenReturn("world");

// Try to complete
PowerMockito.mockStatic(TryToComplete.class);
PowerMockito.mockStatic(TryToComplete.class);
// All challenges are successful!
when(TryToComplete.complete(any(), any(), any(), any(), anyString(), anyString(), anyInt())).thenReturn(true);

// Util
PowerMockito.mockStatic(Util.class);
when(Util.tabLimit(any(), any())).thenAnswer((Answer<List<String>>) invocation -> (List<String>)invocation.getArgument(0, List.class));

// Command under test
cc = new CompleteChallengeCommand(addon, ic);
}
Expand Down Expand Up @@ -217,21 +218,21 @@ public void testSetup() {
@Test
public void testExecuteUserStringListOfStringNoArgs() {
assertFalse(cc.execute(user, "complete", Collections.emptyList()));
verify(user).sendMessage(eq("challenges.errors.no-name"));
verify(user).getTranslation(eq("challenges.errors.no-name"));
verify(user).sendMessage(eq("commands.help.header"), eq(TextVariables.LABEL), eq("BSkyBlock"));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringUnknownChallenge() {
when(chm.getChallenge(anyString())).thenReturn(null);
assertFalse(cc.execute(user, "complete", Collections.singletonList("mychal")));
verify(user).sendMessage(eq("challenges.errors.unknown-challenge"));
verify(user).getTranslation(eq("challenges.errors.unknown-challenge"));
verify(user).sendMessage(eq("commands.help.header"), eq(TextVariables.LABEL), eq("BSkyBlock"));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -241,7 +242,7 @@ public void testExecuteUserStringListOfStringKnownChallengeFail() {
assertFalse(cc.execute(user, "complete", Collections.singletonList("mychal")));
verify(user, never()).sendMessage(any());
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -250,16 +251,16 @@ public void testExecuteUserStringListOfStringKnownChallengeSuccess() {
assertTrue(cc.execute(user, "complete", Collections.singletonList("mychal")));
verify(user, never()).sendMessage(any());
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringKnownChallengeSuccessMultipleTimesNoPerm() {
assertTrue(cc.execute(user, "complete", Arrays.asList("mychal", "5")));
verify(user).sendMessage(eq("challenges.error.no-multiple-permission"));
verify(user).getTranslation(eq("challenges.error.no-multiple-permission"));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -269,15 +270,15 @@ public void testExecuteUserStringListOfStringKnownChallengeSuccessMultipleTimesH
assertTrue(cc.execute(user, "complete", Arrays.asList("mychal", "5")));
verify(user, never()).sendMessage(any());
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testTabCompleteUserStringListOfStringNoArgs() {
cc.tabComplete(user, "complete", Collections.emptyList());
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -287,7 +288,7 @@ public void testTabCompleteUserStringListOfStringOneArg() {
assertFalse(list.isEmpty());
assertEquals("help", list.get(0));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -297,7 +298,7 @@ public void testTabCompleteUserStringListOfStringTwoArgs() {
assertFalse(list.isEmpty());
assertEquals("help", list.get(0));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -309,7 +310,7 @@ public void testTabCompleteUserStringListOfStringThreeArgs() {
assertEquals("placer", list.get(1));
assertEquals("breaker", list.get(2));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -318,7 +319,7 @@ public void testTabCompleteUserStringListOfStringFourArgs() {
List<String> list = cc.tabComplete(user, "complete", Arrays.asList("arg1", "arg2", "arg3", "arg4")).get();
assertTrue(list.isEmpty());
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand All @@ -328,7 +329,7 @@ public void testTabCompleteUserStringListOfStringFourArgsNumber() {
assertFalse(list.isEmpty());
assertEquals("<number>", list.get(0));
}

/**
* Test method for {@link world.bentobox.challenges.commands.CompleteChallengeCommand#tabComplete(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
Expand Down

0 comments on commit c21cae9

Please sign in to comment.