Fix prestige requirements

This commit is contained in:
okx-code
2022-01-06 18:08:23 +00:00
parent d5a1776d9d
commit a8dbea37e8
7 changed files with 183 additions and 9 deletions
@@ -1,16 +1,19 @@
package sh.okx.rankup.pebble;
import static org.junit.jupiter.api.Assertions.*;
import be.seeseemelk.mockbukkit.entity.PlayerMock;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Test;
import sh.okx.rankup.RankupTest;
import sh.okx.rankup.ranks.Rank;
import sh.okx.rankup.ranks.RankElement;
import sh.okx.rankup.text.pebble.PebbleTextProcessor;
public class PebbleTest {
public class PebbleTest extends RankupTest {
@Test
public void testIndex() {
Map<String, Object> ctx = new HashMap<>();
@@ -24,4 +27,19 @@ public class PebbleTest {
PebbleTextProcessor processor = new PebbleTextProcessor(ctx, null);
assertEquals("L2", processor.process("{{ list[one] }}"));
}
@Test
public void testIterable() {
PlayerMock player = server.addPlayer();
plugin.getPermissions().addGroup(player.getUniqueId(), "C");
RankElement<Rank> rankElement = plugin.getRankups().getByPlayer(player);
plugin.newMessageBuilder("{{ rank.requirements is iterable }}")
.replacePlayer(player)
.replaceOldRank(rankElement.getRank())
.send(player);
player.assertSaid("true");
}
}
@@ -0,0 +1,29 @@
package sh.okx.rankup.requirements;
import static org.junit.jupiter.api.Assertions.*;
import be.seeseemelk.mockbukkit.entity.PlayerMock;
import org.junit.jupiter.api.Test;
import sh.okx.rankup.RankupTest;
public class PrestigeRequirementsTest extends RankupTest {
public PrestigeRequirementsTest() {
super("prestigerequirements");
}
@Test
public void testPrestigeRequirements() {
PlayerMock player = server.addPlayer();
plugin.getPermissions().addGroup(player.getUniqueId(), "p1");
plugin.getPermissions().addGroup(player.getUniqueId(), "a");
plugin.getEconomy().setPlayer(player, 200);
plugin.getHelper().rankup(player);
assertTrue(plugin.getPermissions().inGroup(player.getUniqueId(), "b"), "player is not in group b");
assertEquals(0, plugin.getEconomy().getBalance(player), "prestige requirements did not take correct amount of money");
}
}