mcMMO/src/test/java/com/gmail/nossr50/party/PartyManagerTest.java
2024-03-30 04:44:10 -07:00

97 lines
3.1 KiB
Java

package com.gmail.nossr50.party;
import com.gmail.nossr50.MMOTestEnvironment;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.mcMMO;
import org.bukkit.entity.Player;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import java.util.UUID;
import java.util.logging.Logger;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
class PartyManagerTest extends MMOTestEnvironment {
private static final Logger logger = Logger.getLogger(PartyManagerTest.class.getName());
@BeforeEach
public void setUp() {
mockBaseEnvironment(logger);
// currently unnecessary, but may be needed for future tests
Mockito.when(partyConfig.isPartyEnabled()).thenReturn(true);
}
@AfterEach
public void tearDown() {
cleanupBaseEnvironment();
// disable parties in config for other tests
Mockito.when(partyConfig.isPartyEnabled()).thenReturn(false);
}
@Test
public void createPartyWithoutPasswordShouldSucceed() {
// Given
PartyManager partyManager = new PartyManager(mcMMO.p);
String partyName = "TestParty";
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(mcMMO.p);
String partyName = "TestParty";
String partyPassword = "somePassword";
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(mcMMO.p);
String partyPassword = "somePassword";
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(IllegalArgumentException.class,
() -> partyManager.createParty(mmoPlayer, null, partyPassword));
}
@Test
public void createPartyWithoutPlayerShouldFail() {
// Given
PartyManager partyManager = new PartyManager(mcMMO.p);
String partyName = "TestParty";
String partyPassword = "somePassword";
// When & Then
assertThrows(IllegalArgumentException.class,
() -> partyManager.createParty(null, partyName, partyPassword));
}
}