Refactor util for setting BukkitService mock behavior

- Move helper methods for setting BukkitService mock behavior into their own class
- Change methods to use Mockito's answer instead of verification + argument capture -> calling the methods now belongs to the test setup (given clause) and allows the behavior to take effect more than once
This commit is contained in:
ljacqu
2017-11-22 00:24:11 +01:00
parent 4717dc148c
commit 1053440b15
13 changed files with 147 additions and 139 deletions
@@ -20,6 +20,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import static fr.xephi.authme.service.BukkitServiceTestHelper.setBukkitServiceToScheduleSyncDelayedTask;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.lessThan;
@@ -151,10 +152,10 @@ public class TempbanManagerTest {
given(messages.retrieveSingle(MessageKey.TEMPBAN_MAX_LOGINS)).willReturn(banReason);
Settings settings = mockSettings(2, 100, "");
TempbanManager manager = new TempbanManager(bukkitService, messages, settings);
setBukkitServiceToScheduleSyncDelayedTask(bukkitService);
// when
manager.tempbanPlayer(player);
TestHelper.runSyncDelayedTask(bukkitService);
// then
verify(player).kickPlayer(banReason);
@@ -178,10 +179,10 @@ public class TempbanManagerTest {
String banCommand = "banip %ip% 15d IP ban too many logins";
Settings settings = mockSettings(2, 100, banCommand);
TempbanManager manager = new TempbanManager(bukkitService, messages, settings);
setBukkitServiceToScheduleSyncDelayedTask(bukkitService);
// when
manager.tempbanPlayer(player);
TestHelper.runSyncDelayedTask(bukkitService);
// then
verify(bukkitService).dispatchConsoleCommand(banCommand.replace("%ip%", ip));
@@ -200,10 +201,10 @@ public class TempbanManagerTest {
manager.increaseCount(ip, "user");
manager.increaseCount(ip, "name2");
manager.increaseCount(ip, "user");
setBukkitServiceToScheduleSyncDelayedTask(bukkitService);
// when
manager.tempbanPlayer(player);
TestHelper.runSyncDelayedTask(bukkitService);
// then
verify(player).kickPlayer(banReason);