Fix test failure

This commit is contained in:
tastybento 2023-11-09 22:20:56 -08:00
parent ae99db40e5
commit 07e4b91b69
1 changed files with 99 additions and 100 deletions

View File

@ -15,7 +15,6 @@ import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.eclipse.jdt.annotation.Nullable;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -24,7 +23,6 @@ import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.addons.GameModeAddon;
@ -34,124 +32,125 @@ import world.bentobox.bentobox.api.user.User;
import world.bentobox.bentobox.database.objects.Island;
import world.bentobox.bentobox.managers.CommandsManager;
import world.bentobox.bentobox.managers.IslandsManager;
import world.bentobox.bentobox.managers.RanksManager;
import world.bentobox.bentobox.managers.RanksManagerBeforeClassTest;
/**
* @author tastybento
*
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({Bukkit.class, BentoBox.class})
public class DefaultPlayerCommandTest {
@PrepareForTest({ Bukkit.class, BentoBox.class })
public class DefaultPlayerCommandTest extends RanksManagerBeforeClassTest {
@Mock
GameModeAddon addon;
private PlayerCommand dpc;
@Mock
private WorldSettings ws;
@Mock
private User user;
@Mock
private IslandsManager im;
@Mock
private @Nullable Island island;
@Mock
GameModeAddon addon;
private PlayerCommand dpc;
@Mock
private WorldSettings ws;
@Mock
private User user;
@Mock
private IslandsManager im;
@Mock
private @Nullable Island island;
class PlayerCommand extends DefaultPlayerCommand {
class PlayerCommand extends DefaultPlayerCommand {
protected PlayerCommand(GameModeAddon addon) {
super(addon);
}
protected PlayerCommand(GameModeAddon addon) {
super(addon);
}
}
}
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
super.setUp();
// RanksManager
RanksManager rm = new RanksManager();
when(plugin.getRanksManager()).thenReturn(rm);
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
// Set up plugin
BentoBox plugin = mock(BentoBox.class);
Whitebox.setInternalState(BentoBox.class, "instance", plugin);
// Addon
// Addon
// User
when(user.getUniqueId()).thenReturn(UUID.randomUUID());
// IM
when(plugin.getIslandsManager()).thenReturn(im);
when(plugin.getIslands()).thenReturn(im);
when(im.getIsland(any(World.class), any(UUID.class))).thenReturn(island);
// User
when(user.getUniqueId()).thenReturn(UUID.randomUUID());
// IM
when(plugin.getIslandsManager()).thenReturn(im);
when(plugin.getIslands()).thenReturn(im);
when(im.getIsland(any(World.class), any(UUID.class))).thenReturn(island);
// Command manager
CommandsManager cm = mock(CommandsManager.class);
when(plugin.getCommandsManager()).thenReturn(cm);
// Command manager
CommandsManager cm = mock(CommandsManager.class);
when(plugin.getCommandsManager()).thenReturn(cm);
// World Settings
when(ws.getDefaultPlayerAction()).thenReturn("go");
when(ws.getDefaultNewPlayerAction()).thenReturn("create");
// World Settings
when(ws.getDefaultPlayerAction()).thenReturn("go");
when(ws.getDefaultNewPlayerAction()).thenReturn("create");
PowerMockito.mockStatic(Bukkit.class, Mockito.RETURNS_MOCKS);
PowerMockito.mockStatic(Bukkit.class, Mockito.RETURNS_MOCKS);
when(ws.getPlayerCommandAliases()).thenReturn("island is");
when(addon.getWorldSettings()).thenReturn(ws);
dpc = new PlayerCommand(addon);
dpc.setWorld(mock(World.class));
when(ws.getPlayerCommandAliases()).thenReturn("island is");
when(addon.getWorldSettings()).thenReturn(ws);
dpc = new PlayerCommand(addon);
dpc.setWorld(mock(World.class));
}
}
/**
* Test method for
* {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#DefaultPlayerCommand(world.bentobox.bentobox.api.addons.GameModeAddon)}.
*/
@Test
public void testDefaultPlayerCommand() {
assertNotNull(dpc);
}
/**
* @throws java.lang.Exception
*/
@After
public void tearDown() throws Exception {
}
/**
* Test method for
* {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#setup()}.
*/
@Test
public void testSetup() {
assertEquals("commands.island.help.description", dpc.getDescription());
assertTrue(dpc.isOnlyPlayer());
assertEquals("island", dpc.getPermission());
// 20 = 19 subcommands + help command
assertEquals(20, dpc.getSubCommands().size()); // Update when commands are added or removed
}
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#DefaultPlayerCommand(world.bentobox.bentobox.api.addons.GameModeAddon)}.
*/
@Test
public void testDefaultPlayerCommand() {
assertNotNull(dpc);
}
/**
* Test method for
* {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringUnknownCommand() {
assertFalse(dpc.execute(user, "label", List.of("unknown")));
verify(user).sendMessage("general.errors.unknown-command", TextVariables.LABEL, "island");
}
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#setup()}.
*/
@Test
public void testSetup() {
assertEquals("commands.island.help.description", dpc.getDescription());
assertTrue(dpc.isOnlyPlayer());
assertEquals("island", dpc.getPermission());
// 20 = 19 subcommands + help command
assertEquals(20, dpc.getSubCommands().size()); // Update when commands are added or removed
}
/**
* Test method for
* {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringNullUser() {
assertFalse(dpc.execute(null, "label", List.of()));
}
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringUnknownCommand() {
assertFalse(dpc.execute(user, "label", List.of("unknown")));
verify(user).sendMessage("general.errors.unknown-command", TextVariables.LABEL, "island");
}
/**
* Test method for
* {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringEmptyArgsHasIsland() {
assertFalse(dpc.execute(user, "label", List.of()));
verify(user).sendMessage("general.errors.use-in-game");
}
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringNullUser() {
assertFalse(dpc.execute(null, "label", List.of()));
}
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
public void testExecuteUserStringListOfStringEmptyArgsHasIsland() {
assertFalse(dpc.execute(user, "label", List.of()));
verify(user).sendMessage("general.errors.use-in-game");
}
/**
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
@ -161,7 +160,7 @@ public class DefaultPlayerCommandTest {
verify(user).sendMessage("general.errors.use-in-game");
}
/**
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
@ -172,7 +171,7 @@ public class DefaultPlayerCommandTest {
verify(user).performCommand("label goxxx");
}
/**
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
@ -185,7 +184,7 @@ public class DefaultPlayerCommandTest {
verify(user).performCommand("label createxxx");
}
/**
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test
@ -196,7 +195,7 @@ public class DefaultPlayerCommandTest {
verify(user).performCommand("goxxx");
}
/**
/**
* Test method for {@link world.bentobox.bentobox.api.commands.island.DefaultPlayerCommand#execute(world.bentobox.bentobox.api.user.User, java.lang.String, java.util.List)}.
*/
@Test