Move #isNpc method to PlayerUtils

- After dropping our hook to CombatTagPlus it is not relevant for it to be in PluginHooksService anymore
This commit is contained in:
ljacqu
2017-10-21 12:08:23 +02:00
parent 58657f5d3f
commit 4e8deec258
11 changed files with 49 additions and 51 deletions
@@ -7,7 +7,6 @@ import fr.xephi.authme.data.auth.PlayerCache;
import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.process.Management;
import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.service.PluginHookService;
import fr.xephi.authme.service.ValidationService;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -43,8 +42,6 @@ public class NewAPITest {
@InjectMocks
private NewAPI api;
@Mock
private PluginHookService pluginHookService;
@Mock
private ValidationService validationService;
@Mock
@@ -84,13 +81,14 @@ public class NewAPITest {
public void shouldReturnIfPlayerIsNpc() {
// given
Player player = mock(Player.class);
given(pluginHookService.isNpc(player)).willReturn(true);
given(player.hasMetadata("NPC")).willReturn(true);
// when
boolean result = api.isNPC(player);
// then
assertThat(result, equalTo(true));
verify(player).hasMetadata("NPC");
}
@Test
@@ -6,7 +6,6 @@ import fr.xephi.authme.data.auth.PlayerCache;
import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.process.Management;
import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.service.PluginHookService;
import fr.xephi.authme.service.ValidationService;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -43,8 +42,6 @@ public class AuthMeApiTest {
@InjectMocks
private AuthMeApi api;
@Mock
private PluginHookService pluginHookService;
@Mock
private ValidationService validationService;
@Mock
@@ -84,13 +81,14 @@ public class AuthMeApiTest {
public void shouldReturnIfPlayerIsNpc() {
// given
Player player = mock(Player.class);
given(pluginHookService.isNpc(player)).willReturn(true);
given(player.hasMetadata("NPC")).willReturn(true);
// when
boolean result = api.isNpc(player);
// then
assertThat(result, equalTo(true));
verify(player).hasMetadata("NPC");
}
@Test
@@ -5,10 +5,9 @@ import ch.jalu.injector.testing.DelayedInjectionRunner;
import ch.jalu.injector.testing.InjectDelayed;
import fr.xephi.authme.data.auth.PlayerCache;
import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.service.PluginHookService;
import fr.xephi.authme.service.ValidationService;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.settings.properties.RegistrationSettings;
import fr.xephi.authme.service.ValidationService;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
@@ -40,9 +39,6 @@ public class ListenerServiceTest {
@Mock
private DataSource dataSource;
@Mock
private PluginHookService pluginHookService;
@Mock
private PlayerCache playerCache;
@@ -161,14 +157,14 @@ public class ListenerServiceTest {
Player player = mockPlayerWithName(playerName);
EntityEvent event = mock(EntityEvent.class);
given(event.getEntity()).willReturn(player);
given(pluginHookService.isNpc(player)).willReturn(true);
given(player.hasMetadata("NPC")).willReturn(true);
// when
boolean result = listenerService.shouldCancelEvent(event);
// then
assertThat(result, equalTo(false));
verify(pluginHookService).isNpc(player);
verify(player).hasMetadata("NPC");
}
@Test
@@ -215,7 +211,6 @@ public class ListenerServiceTest {
assertThat(result, equalTo(true));
verify(playerCache).isAuthenticated(playerName);
verifyZeroInteractions(dataSource);
verify(pluginHookService).isNpc(player);
}
private static Player mockPlayerWithName(String name) {
@@ -58,8 +58,6 @@ public class PluginHookServiceTest {
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(true));
}
// Note ljacqu 20160312: Cannot test with CombatTagPlus because its class is declared final
@Test
public void shouldHookIntoEssentialsAtInitialization() {
// given
@@ -70,4 +70,21 @@ public class PlayerUtilsTest {
// given / when / then
TestHelper.validateHasOnlyPrivateEmptyConstructor(PlayerUtils.class);
}
@Test
public void shouldCheckIfIsNpc() {
// given
Player player1 = mock(Player.class);
given(player1.hasMetadata("NPC")).willReturn(false);
Player player2 = mock(Player.class);
given(player2.hasMetadata("NPC")).willReturn(true);
// when
boolean result1 = PlayerUtils.isNpc(player1);
boolean result2 = PlayerUtils.isNpc(player2);
// then
assertThat(result1, equalTo(false));
assertThat(result2, equalTo(true));
}
}