mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 02:19:05 +00:00
Added unit test for playerQuitEvent.
This commit is contained in:
parent
086c23a0a9
commit
e8f7849cdd
@ -1,8 +1,11 @@
|
|||||||
package mineverse.Aust1n46.chat.listeners;
|
package mineverse.Aust1n46.chat.listeners;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@ -15,34 +18,48 @@ import org.powermock.modules.junit4.PowerMockRunner;
|
|||||||
import mineverse.Aust1n46.chat.MineverseChat;
|
import mineverse.Aust1n46.chat.MineverseChat;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||||
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||||
|
import mineverse.Aust1n46.chat.database.PlayerData;
|
||||||
import mineverse.Aust1n46.chat.listeners.LoginListener;;
|
import mineverse.Aust1n46.chat.listeners.LoginListener;;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link LoginListener}.
|
* Tests {@link LoginListener}.
|
||||||
*/
|
*/
|
||||||
@RunWith(PowerMockRunner.class)
|
@RunWith(PowerMockRunner.class)
|
||||||
@PrepareForTest({ MineverseChat.class, MineverseChatAPI.class, Bukkit.class})
|
@PrepareForTest({ MineverseChat.class, MineverseChatAPI.class, Bukkit.class, PlayerData.class, PlayerQuitEvent.class})
|
||||||
public class LoginListenerTest {
|
public class LoginListenerTest {
|
||||||
private MineverseChat mockPlugin;
|
private MineverseChat mockPlugin;
|
||||||
private Player mockPlayer;
|
private Player mockPlayer;
|
||||||
private MineverseChatPlayer mockMCP;
|
private MineverseChatPlayer mockMCP;
|
||||||
private ConsoleCommandSender mockConsoleSender;
|
private ConsoleCommandSender mockConsoleSender;
|
||||||
|
private LoginListener testLoginListener;
|
||||||
|
private PlayerQuitEvent mockPlayerQuitEvent;
|
||||||
|
private File mockDataFile;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
mockPlugin = Mockito.mock(MineverseChat.class);
|
mockPlugin = PowerMockito.mock(MineverseChat.class);
|
||||||
mockPlayer = Mockito.mock(Player.class);
|
mockPlayer = Mockito.mock(Player.class);
|
||||||
mockMCP = Mockito.mock(MineverseChatPlayer.class);
|
mockMCP = Mockito.mock(MineverseChatPlayer.class);
|
||||||
mockConsoleSender = Mockito.mock(ConsoleCommandSender.class);
|
mockConsoleSender = Mockito.mock(ConsoleCommandSender.class);
|
||||||
|
mockDataFile = Mockito.mock(File.class);
|
||||||
|
|
||||||
|
mockPlayerQuitEvent = PowerMockito.mock(PlayerQuitEvent.class);
|
||||||
|
PowerMockito.when(mockPlayerQuitEvent.getPlayer()).thenReturn(mockPlayer);
|
||||||
|
|
||||||
PowerMockito.mockStatic(MineverseChat.class);
|
PowerMockito.mockStatic(MineverseChat.class);
|
||||||
PowerMockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
PowerMockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
||||||
|
PowerMockito.when(mockPlugin.getDataFolder()).thenReturn(mockDataFile);
|
||||||
|
|
||||||
PowerMockito.mockStatic(MineverseChatAPI.class);
|
PowerMockito.mockStatic(MineverseChatAPI.class);
|
||||||
PowerMockito.when(MineverseChatAPI.getMineverseChatPlayer(Mockito.any(Player.class))).thenReturn(mockMCP);
|
PowerMockito.when(MineverseChatAPI.getMineverseChatPlayer(Mockito.any(Player.class))).thenReturn(mockMCP);
|
||||||
|
PowerMockito.when(MineverseChatAPI.getOnlineMineverseChatPlayer(Mockito.any(Player.class))).thenReturn(mockMCP);
|
||||||
|
|
||||||
PowerMockito.mockStatic(Bukkit.class);
|
PowerMockito.mockStatic(Bukkit.class);
|
||||||
PowerMockito.when(Bukkit.getConsoleSender()).thenReturn(mockConsoleSender);
|
PowerMockito.when(Bukkit.getConsoleSender()).thenReturn(mockConsoleSender);
|
||||||
|
|
||||||
|
PowerMockito.mockStatic(PlayerData.class);
|
||||||
|
|
||||||
|
testLoginListener = new LoginListener();
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
@ -55,8 +72,14 @@ public class LoginListenerTest {
|
|||||||
Mockito.when(mockPlayer.getName()).thenReturn("NewName");
|
Mockito.when(mockPlayer.getName()).thenReturn("NewName");
|
||||||
Mockito.when(mockMCP.getName()).thenReturn("OldName");
|
Mockito.when(mockMCP.getName()).thenReturn("OldName");
|
||||||
Mockito.when(mockPlayer.getDisplayName()).thenReturn("OldName");
|
Mockito.when(mockPlayer.getDisplayName()).thenReturn("OldName");
|
||||||
LoginListener testLoginListener = new LoginListener();
|
|
||||||
testLoginListener.handleNameChange(mockMCP, mockPlayer);
|
testLoginListener.handleNameChange(mockMCP, mockPlayer);
|
||||||
Mockito.verify(mockMCP, Mockito.times(1)).setNickname("NewName");
|
Mockito.verify(mockMCP, Mockito.times(1)).setNickname("NewName");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testPlayerQuit() {
|
||||||
|
testLoginListener.onPlayerQuit(mockPlayerQuitEvent);
|
||||||
|
Mockito.verify(mockMCP, Mockito.times(1)).clearMessages();
|
||||||
|
Mockito.verify(mockMCP, Mockito.times(1)).setOnline(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user