mirror of
				https://github.com/Aust1n46/VentureChat.git
				synced 2025-10-30 21:52:23 +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
	 Aust1n46
						Aust1n46