Add testing for ranks gui

This commit is contained in:
okx-code
2021-11-02 22:09:21 +00:00
parent 80f5808d56
commit 154e618cf2
3 changed files with 157 additions and 0 deletions
@@ -0,0 +1,40 @@
package sh.okx.rankup.ranksgui;
import static org.junit.jupiter.api.Assertions.*;
import be.seeseemelk.mockbukkit.entity.PlayerMock;
import org.bukkit.inventory.Inventory;
import org.junit.jupiter.api.Test;
import sh.okx.rankup.RankupTest;
public class RanksGuiTest extends RankupTest {
public RanksGuiTest() {
super("ranksgui");
}
@Test
public void testRowsWithGroup() {
PlayerMock player = server.addPlayer();
plugin.getPermissions().addGroup(player.getUniqueId(), "a");
player.addAttachment(plugin, "rankup.ranks", true);
server.dispatchCommand(player, "ranks");
Inventory top = player.getOpenInventory().getTopInventory();
assertNotNull(top, "ranks gui has not opened");
assertEquals(36, top.getSize(), "ranks gui is configured to have 4 rows");
}
@Test
public void testRowsWithoutGroup() {
PlayerMock player = server.addPlayer();
player.addAttachment(plugin, "rankup.ranks", true);
server.dispatchCommand(player, "ranks");
Inventory top = player.getOpenInventory().getTopInventory();
assertNotNull(top, "ranks gui has not opened");
assertEquals(27, top.getSize(), "ranks gui is configured to have 3 rows");
}
}
+111
View File
@@ -0,0 +1,111 @@
# this is used for letting you know that you need to update/change your config file
version: 10
# the locale to use for messages
# all messages can be customised but this allows you to
# choose messages that are already translated
# locales can be found in the locale/ folder
locale: en
# interval (in minutes) to check to autorankup players
# ranking up manually will always be enabled
# set to 0 to disable
autorankup-interval: 0
# whether /ranks and /prestiges should be enabled (true) or disabled (false)
# /rankup3 reload will not do anything if this is changed,
# you will have to restart your server.
ranks: true
# you can alternatively negate the permission rankup.prestiges
# this will also make the command not autocomplete in 1.13
prestiges: true
# whether to enable the /ranks GUI.
# will override the /ranks command
ranks-gui: true
# whether or not /prestige and /prestiges should be enabled.
# when a player reaches the top rank, they can do /prestige to return to the first rank,
# but you will be able to grant them an additional "prestige" group or additional items.
#
# if you do not want this command to autocomplete, make sure
# you negate the permission rankup.prestige with your permissions plugin.
# if enabled, a prestiges.yml file will be generated with some example prestiges
# You must restart your server when you change this for it to work!
prestige: false
# if true, players with the permission rankup.notify will receive notifications when they join
# to update if the server is on an older version of Rankup.
notify-update: true
# if rankups and prestiges should be by permissions
# if false, players will be checked for if they have a group of the same name as in rankups.yml,
# and automatically added and taken away from those groups.
# if true, players will be checked for the permission rankup.rank.RANK, where RANK
# is the rankup in rankups.yml. Nothing will automatically happen on rankup, so you must
# use commands to change a player's group or permission.
permission-rankup: false
# how people should confirm ranking up
# options are: gui, text or none
confirmation-type: 'gui'
# how long, in seconds, people have to wait between a successful /rankup or /prestige
# set to 0 to disable.
cooldown: 1
# if enabled, players can run /maxrankup to rankup as many times as possible,
# before they fail the requirements for the next rank.
# the permission rankup.maxrankup is used for this command, but it is given by default.
# note that /maxrankup, if enabled, has no confirmation.
max-rankup:
# You must restart your server if you enable or disable /maxrankup!
enabled: false
# whether to send a message for each rankup a player does
# if set to true, the chat may be spammed for each rankup a player goes through with /maxrankup
# if set to false, only the last rankup will be shown (if a player starts on rank A, then does
# /maxrankup and ranks up to B and then C, it will just say "player has ranked up to C")
individual-messages: true
# options when using the text rankup confirmation
text:
# the time in seconds for a player to
# confirm by typing /rankup again
timeout: 10
# placeholders:
# https://okx.sh/rankup/Placeholders.html
placeholders:
# format for money. for more information, see
# https://docs.oracle.com/javase/8/docs/api/java/text/DecimalFormat.html
money-format: "#,##0.##"
percent-format: "0.##"
# the format used for requirements
simple-format: "#.##"
# used for current_rank and next_rank placeholders when a player is not in anything in rankups.yml
not-in-ladder: "None"
# used in the current_prestige placeholders when a player hasn't prestiged yet
no-prestige: "None"
# used in the next_rank and next_prestige placeholders when a player is at the highest rank or prestige
highest-rank: "None"
# used in the %rankup_status_[rank]% placeholders
status:
complete: "Complete"
current: "Current"
incomplete: "Incomplete"
last-rank-display-name: "last rank"
# what to shorten money by.
# ie 1000 -> 1k
# set to an empty list to disable
# for each entry here, it counts as increasing by a factor of 1,000
# the first represents thousands (1,000) then millions (1,000,000) then billions (1,000,000,000) etc.
# this is used in the "| shortmoney" filter
shorten:
- 'K'
- 'M'
- 'B'
- 'T'
- 'Q'
- 'Qu'
- 'S'
+6
View File
@@ -0,0 +1,6 @@
a:
rank: 'a'
next: 'b'
rankup:
ranksgui:
rows: 4