From eab215b24484cf64a7f991d7f32e54bbafde2a52 Mon Sep 17 00:00:00 2001 From: tastybento Date: Sun, 18 Aug 2024 16:26:08 -0700 Subject: [PATCH] Bring up to latest API and fix tests --- .../bentobox/parkour/commands/ClearTopCommand.java | 3 ++- .../bentobox/parkour/commands/SetWarpCommand.java | 4 +++- src/main/resources/addon.yml | 2 +- .../world/bentobox/parkour/AbstractParkourTest.java | 10 ++++++---- .../bentobox/parkour/commands/ClearTopCommandTest.java | 9 +++++---- .../bentobox/parkour/commands/SetWarpCommandTest.java | 9 +++++++-- 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/main/java/world/bentobox/parkour/commands/ClearTopCommand.java b/src/main/java/world/bentobox/parkour/commands/ClearTopCommand.java index 4ecb899..53b2afc 100644 --- a/src/main/java/world/bentobox/parkour/commands/ClearTopCommand.java +++ b/src/main/java/world/bentobox/parkour/commands/ClearTopCommand.java @@ -61,7 +61,8 @@ public boolean canExecute(User user, String label, List args) { Island island = getIslands().getIsland(getWorld(), user); int rank = Objects.requireNonNull(island).getRank(user); if (rank < island.getRankCommand(getUsage())) { - user.sendMessage("general.errors.insufficient-rank", TextVariables.RANK, user.getTranslation(getPlugin().getRanksManager().getRank(rank))); + user.sendMessage("general.errors.insufficient-rank", TextVariables.RANK, + user.getTranslation(RanksManager.getInstance().getRank(rank))); return false; } // Check the name of the score to clear diff --git a/src/main/java/world/bentobox/parkour/commands/SetWarpCommand.java b/src/main/java/world/bentobox/parkour/commands/SetWarpCommand.java index e2ce851..c3bb71b 100644 --- a/src/main/java/world/bentobox/parkour/commands/SetWarpCommand.java +++ b/src/main/java/world/bentobox/parkour/commands/SetWarpCommand.java @@ -10,6 +10,7 @@ import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.database.objects.Island; +import world.bentobox.bentobox.managers.RanksManager; import world.bentobox.parkour.Parkour; import world.bentobox.parkour.ParkourManager; @@ -46,7 +47,8 @@ public boolean canExecute(User user, String label, List args) { Island island = getIslands().getIsland(getWorld(), user); int rank = Objects.requireNonNull(island).getRank(user); if (rank < island.getRankCommand(getUsage())) { - user.sendMessage("general.errors.insufficient-rank", TextVariables.RANK, user.getTranslation(getPlugin().getRanksManager().getRank(rank))); + user.sendMessage("general.errors.insufficient-rank", TextVariables.RANK, + user.getTranslation(RanksManager.getInstance().getRank(rank))); return false; } Optional start = ((Parkour) getAddon()).getParkourManager().getStart(island); diff --git a/src/main/resources/addon.yml b/src/main/resources/addon.yml index 225b32e..df83b72 100755 --- a/src/main/resources/addon.yml +++ b/src/main/resources/addon.yml @@ -1,7 +1,7 @@ name: Parkour main: world.bentobox.parkour.Parkour version: ${version}${build.number} -api-version: 1.24 +api-version: 2.4.0 metrics: true icon: "POLISHED_BLACKSTONE_PRESSURE_PLATE" repository: "BentoBoxWorld/Parkour" diff --git a/src/test/java/world/bentobox/parkour/AbstractParkourTest.java b/src/test/java/world/bentobox/parkour/AbstractParkourTest.java index 06ef296..90ac0da 100644 --- a/src/test/java/world/bentobox/parkour/AbstractParkourTest.java +++ b/src/test/java/world/bentobox/parkour/AbstractParkourTest.java @@ -55,7 +55,8 @@ * */ @RunWith(PowerMockRunner.class) -@PrepareForTest({ Bukkit.class, BentoBox.class, User.class, Config.class, DatabaseSetup.class, Util.class }) +@PrepareForTest({ Bukkit.class, BentoBox.class, User.class, Config.class, DatabaseSetup.class, Util.class, + RanksManager.class }) public abstract class AbstractParkourTest { @Mock @@ -76,6 +77,8 @@ public abstract class AbstractParkourTest { protected IslandWorldManager iwm; @Mock protected Parkour addon; + @Mock + private RanksManager rm; protected static AbstractDatabaseHandler h; @SuppressWarnings("unchecked") @@ -170,9 +173,8 @@ public void setUp() throws Exception { when(fm.getFlags()).thenReturn(Collections.emptyList()); // RanksManager - RanksManager rm = new RanksManager(); - when(plugin.getRanksManager()).thenReturn(rm); - + Whitebox.setInternalState(RanksManager.class, "instance", rm); + when(rm.getRank(any())).thenReturn("ranks.member"); } } diff --git a/src/test/java/world/bentobox/parkour/commands/ClearTopCommandTest.java b/src/test/java/world/bentobox/parkour/commands/ClearTopCommandTest.java index ee94bd7..d01d036 100644 --- a/src/test/java/world/bentobox/parkour/commands/ClearTopCommandTest.java +++ b/src/test/java/world/bentobox/parkour/commands/ClearTopCommandTest.java @@ -56,7 +56,7 @@ * */ @RunWith(PowerMockRunner.class) -@PrepareForTest({Bukkit.class, BentoBox.class, User.class, Util.class}) +@PrepareForTest({ Bukkit.class, BentoBox.class, User.class, Util.class, RanksManager.class }) public class ClearTopCommandTest { @Mock @@ -88,6 +88,8 @@ public class ClearTopCommandTest { private RankingsUI rankings; @Mock private PlayersManager pm; + @Mock + private RanksManager rm; /** * @throws java.lang.Exception @@ -155,8 +157,7 @@ public void setUp() throws Exception { when(addon.getSettings()).thenReturn(settings); // RanksManager - RanksManager rm = new RanksManager(); - when(plugin.getRanksManager()).thenReturn(rm); + Whitebox.setInternalState(RanksManager.class, "instance", rm); // Players Manager when(addon.getPlayers()).thenReturn(pm); @@ -217,7 +218,7 @@ public void testCanExecuteNoIsland() { public void testCanExecuteInsufficientRank() { when(island.getRankCommand(anyString())).thenReturn(RanksManager.ADMIN_RANK); assertFalse(cmd.canExecute(user, "", List.of())); - verify(user).sendMessage("general.errors.insufficient-rank", TextVariables.RANK, RanksManager.MEMBER_RANK_REF); + verify(user).sendMessage("general.errors.insufficient-rank", TextVariables.RANK, null); } diff --git a/src/test/java/world/bentobox/parkour/commands/SetWarpCommandTest.java b/src/test/java/world/bentobox/parkour/commands/SetWarpCommandTest.java index fb5b102..8a4ca3c 100644 --- a/src/test/java/world/bentobox/parkour/commands/SetWarpCommandTest.java +++ b/src/test/java/world/bentobox/parkour/commands/SetWarpCommandTest.java @@ -24,7 +24,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; import world.bentobox.bentobox.api.commands.CompositeCommand; import world.bentobox.bentobox.api.localization.TextVariables; @@ -43,6 +45,7 @@ * */ @RunWith(PowerMockRunner.class) +@PrepareForTest(RanksManager.class) public class SetWarpCommandTest extends AbstractParkourTest { @Mock private LocalesManager lm; @@ -56,6 +59,8 @@ public class SetWarpCommandTest extends AbstractParkourTest { private Location location; @Mock private CompositeCommand ac; + @Mock + private RanksManager rm; /** * @throws java.lang.Exception @@ -112,8 +117,8 @@ public void setUp() throws Exception { when(addon.getSettings()).thenReturn(settings); // RanksManager - RanksManager rm = new RanksManager(); - when(plugin.getRanksManager()).thenReturn(rm); + Whitebox.setInternalState(RanksManager.class, "instance", rm); + when(rm.getRank(any())).thenReturn("ranks.member"); // DUT cmd = new SetWarpCommand(ac);