nossr50 1 年之前
父节点
当前提交
7da8c8c83a
共有 3 个文件被更改,包括 104 次插入1 次删除
  1. 5 0
      Changelog.txt
  2. 1 1
      pom.xml
  3. 98 0
      src/test/java/com/gmail/nossr50/party/PartyManagerTest.java

+ 5 - 0
Changelog.txt

@@ -1,3 +1,8 @@
+Version 2.1.231
+    Fixed a bug preventing parties from being made without passwords (Thanks Momshroom)
+    Updated korean locale (thanks mangchi57)
+    Added some unit tests for party creation
+
 Version 2.1.230
     Fixed an error that could happen when mcMMO was saving when parties were disabled by party.yml (thanks IAISI & L4BORG)
     Fixed several exceptions when checking PVP damage when parties were disabled by party.yml (thanks IAISI & L4BORG)

+ 1 - 1
pom.xml

@@ -2,7 +2,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <artifactId>mcMMO</artifactId>
-    <version>2.1.230</version>
+    <version>2.1.231</version>
     <name>mcMMO</name>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <scm>

+ 98 - 0
src/test/java/com/gmail/nossr50/party/PartyManagerTest.java

@@ -0,0 +1,98 @@
+package com.gmail.nossr50.party;
+
+import com.gmail.nossr50.datatypes.player.McMMOPlayer;
+import com.gmail.nossr50.locale.LocaleLoader;
+import com.gmail.nossr50.mcMMO;
+import org.bukkit.Server;
+import org.bukkit.entity.Player;
+import org.bukkit.plugin.PluginManager;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import java.util.UUID;
+
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.*;
+
+class PartyManagerTest {
+
+    static mcMMO mockMcMMO;
+
+    @BeforeAll
+    public static void setup() {
+        // create a static stub for LocaleLoader.class
+        mockStatic(LocaleLoader.class);
+        when(LocaleLoader.getString(anyString())).thenReturn("");
+
+        mockMcMMO = mock(mcMMO.class);
+        final Server mockServer = mock(Server.class);
+        when(mockMcMMO.getServer()).thenReturn(mockServer);
+        when(mockServer.getPluginManager()).thenReturn(mock(PluginManager.class));
+
+        // TODO: Add cleanup for static mock
+    }
+
+    @Test
+    public void createPartyWithoutPasswordShouldSucceed() {
+        // Given
+        PartyManager partyManager = new PartyManager(mockMcMMO);
+        String partyName = "TestParty";
+
+        // TODO: Update this with utils from the other dev branches in the future
+        Player player = mock(Player.class);
+        McMMOPlayer mmoPlayer = mock(McMMOPlayer.class);
+        when(mmoPlayer.getPlayer()).thenReturn(player);
+        when(player.getUniqueId()).thenReturn(new UUID(0, 0));
+
+        // When & Then
+        partyManager.createParty(mmoPlayer, partyName, null);
+    }
+
+    @Test
+    public void createPartyWithPasswordShouldSucceed() {
+        // Given
+        PartyManager partyManager = new PartyManager(mockMcMMO);
+        String partyName = "TestParty";
+        String partyPassword = "somePassword";
+
+        // TODO: Update this with utils from the other dev branches in the future
+        Player player = mock(Player.class);
+        McMMOPlayer mmoPlayer = mock(McMMOPlayer.class);
+        when(mmoPlayer.getPlayer()).thenReturn(player);
+        when(player.getUniqueId()).thenReturn(new UUID(0, 0));
+
+        // When & Then
+        partyManager.createParty(mmoPlayer, partyName, partyPassword);
+    }
+
+    @Test
+    public void createPartyWithoutNameShouldFail() {
+        // Given
+        PartyManager partyManager = new PartyManager(mockMcMMO);
+        String partyPassword = "somePassword";
+
+        // TODO: Update this with utils from the other dev branches in the future
+        Player player = mock(Player.class);
+        McMMOPlayer mmoPlayer = mock(McMMOPlayer.class);
+        when(mmoPlayer.getPlayer()).thenReturn(player);
+        when(player.getUniqueId()).thenReturn(new UUID(0, 0));
+
+        // When & Then
+        assertThrows(NullPointerException.class,
+                () -> partyManager.createParty(mmoPlayer, null, partyPassword));
+    }
+
+    @Test
+    public void createPartyWithoutPlayerShouldFail() {
+        // Given
+        PartyManager partyManager = new PartyManager(mockMcMMO);
+        String partyName = "TestParty";
+        String partyPassword = "somePassword";
+
+        // When & Then
+        assertThrows(NullPointerException.class,
+                () -> partyManager.createParty(null, partyName, partyPassword));
+    }
+
+}