#432 Add field injection to AccountsCommand
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
package fr.xephi.authme.command;
|
||||
|
||||
import fr.xephi.authme.initialization.AuthMeServiceInitializer;
|
||||
import fr.xephi.authme.permission.AdminPermission;
|
||||
import fr.xephi.authme.permission.PermissionNode;
|
||||
import fr.xephi.authme.util.StringUtils;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -21,6 +24,9 @@ import static org.hamcrest.Matchers.not;
|
||||
import static org.hamcrest.Matchers.nullValue;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
/**
|
||||
* Test for {@link CommandInitializer} to guarantee the integrity of the defined commands.
|
||||
@@ -37,7 +43,16 @@ public class CommandInitializerTest {
|
||||
|
||||
@BeforeClass
|
||||
public static void initializeCommandManager() {
|
||||
commands = CommandInitializer.buildCommands();
|
||||
AuthMeServiceInitializer initializer = mock(AuthMeServiceInitializer.class);
|
||||
when(initializer.newInstance(any(Class.class))).thenAnswer(new Answer<Object>() {
|
||||
@Override
|
||||
public Object answer(InvocationOnMock invocation) {
|
||||
Class<?> clazz = (Class<?>) invocation.getArguments()[0];
|
||||
return mock(clazz);
|
||||
}
|
||||
});
|
||||
|
||||
commands = CommandInitializer.buildCommands(initializer);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -4,10 +4,14 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
|
||||
import fr.xephi.authme.command.CommandService;
|
||||
import fr.xephi.authme.datasource.DataSource;
|
||||
import fr.xephi.authme.output.MessageKey;
|
||||
import fr.xephi.authme.output.Messages;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -22,26 +26,23 @@ import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
/**
|
||||
* Test for {@link AccountsCommand}.
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class AccountsCommandTest {
|
||||
|
||||
@InjectMocks
|
||||
private AccountsCommand command;
|
||||
@Mock
|
||||
private CommandSender sender;
|
||||
@Mock
|
||||
private CommandService service;
|
||||
@Mock
|
||||
private DataSource dataSource;
|
||||
|
||||
@Before
|
||||
public void setUpMocks() {
|
||||
command = new AccountsCommand();
|
||||
sender = mock(CommandSender.class);
|
||||
dataSource = mock(DataSource.class);
|
||||
service = mock(CommandService.class);
|
||||
when(service.getDataSource()).thenReturn(dataSource);
|
||||
}
|
||||
@Mock
|
||||
private Messages messages;
|
||||
|
||||
@Test
|
||||
public void shouldGetAccountsOfCurrentUser() {
|
||||
@@ -72,7 +73,7 @@ public class AccountsCommandTest {
|
||||
runInnerRunnable(service);
|
||||
|
||||
// then
|
||||
verify(service).send(sender, MessageKey.UNKNOWN_USER);
|
||||
verify(messages).send(sender, MessageKey.UNKNOWN_USER);
|
||||
verify(sender, never()).sendMessage(anyString());
|
||||
}
|
||||
|
||||
@@ -88,7 +89,7 @@ public class AccountsCommandTest {
|
||||
runInnerRunnable(service);
|
||||
|
||||
// then
|
||||
verify(service).send(sender, MessageKey.USER_NOT_REGISTERED);
|
||||
verify(messages).send(sender, MessageKey.USER_NOT_REGISTERED);
|
||||
verify(sender, never()).sendMessage(anyString());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user