[AB-271] fixing tests

This commit is contained in:
Sheldan
2021-06-27 19:57:38 +02:00
parent 5a35137132
commit 67121b318d
20 changed files with 34 additions and 6 deletions

View File

@@ -43,7 +43,7 @@ public class UnSetExpRole extends AbstractConditionableCommand {
public CompletableFuture<CommandResult> executeAsync(CommandContext commandContext) {
ARole role = (ARole) commandContext.getParameters().getParameters().get(0);
ARole actualRole = roleManagementService.findRole(role.getId());
if(!role.getServer().getId().equals(commandContext.getGuild().getIdLong())) {
if(!actualRole.getServer().getId().equals(commandContext.getGuild().getIdLong())) {
throw new EntityGuildMismatchException();
}
// do not check for the existence of the role, because if the role was deleted, users should be able

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.experience.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
@@ -47,6 +48,8 @@ public class DisableExpForRoleTest {
ARole actualRole = Mockito.mock(ARole.class);
when(parameterRole.getId()).thenReturn(5L);
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(parameterRole));
AServer server = Mockito.mock(AServer.class);
when(actualRole.getServer()).thenReturn(server);
when(roleManagementService.findRole(parameterRole.getId())).thenReturn(actualRole);
when(disabledExpRoleManagementService.isExperienceDisabledForRole(actualRole)).thenReturn(value);
CommandResult result = testUnit.execute(context);

View File

@@ -36,6 +36,7 @@ public class DisableExpGainTest {
CommandContext noParameters = CommandTestUtilities.getNoParameters();
AUserInAServer parameterUser = Mockito.mock(AUserInAServer.class);
Member member = Mockito.mock(Member.class);
when(member.getGuild()).thenReturn(noParameters.getGuild());
CommandContext context = CommandTestUtilities.enhanceWithParameters(noParameters, Arrays.asList(member));
when(userInServerManagementService.loadOrCreateUser(member)).thenReturn(parameterUser);
CommandResult result = testUnit.execute(context);

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.experience.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
@@ -44,8 +45,10 @@ public class EnableExpForRoleTest {
ARole roleParameter = Mockito.mock(ARole.class);
CommandContext context = CommandTestUtilities.getWithParameters(Arrays.asList(roleParameter));
Long roleId = 8L;
when(roleParameter.getId()).thenReturn(roleId);
AServer server = Mockito.mock(AServer.class);
ARole actualRole = Mockito.mock(ARole.class);
when(actualRole.getServer()).thenReturn(server);
when(roleParameter.getId()).thenReturn(roleId);
when(roleManagementService.findRole(roleId)).thenReturn(actualRole);
when(disabledExpRoleManagementService.isExperienceDisabledForRole(actualRole)).thenReturn(value);
CommandResult result = testUnit.execute(context);

View File

@@ -36,6 +36,7 @@ public class EnableExpGainTest {
CommandContext noParameters = CommandTestUtilities.getNoParameters();
AUserInAServer parameterUser = Mockito.mock(AUserInAServer.class);
Member member = Mockito.mock(Member.class);
when(member.getGuild()).thenReturn(noParameters.getGuild());
CommandContext context = CommandTestUtilities.enhanceWithParameters(noParameters, Arrays.asList(member));
when(userInServerManagementService.loadOrCreateUser(member)).thenReturn(parameterUser);
CommandResult result = testUnit.execute(context);

View File

@@ -73,6 +73,7 @@ public class RankTest {
when(userInServerManagementService.loadOrCreateUser(context.getAuthor())).thenReturn(aUserInAServer);
when(userExperienceService.getRankOfUserInServer(aUserInAServer)).thenReturn(leaderBoardEntry);
LeaderBoardEntryModel leaderBoardEntryModel = Mockito.mock(LeaderBoardEntryModel.class);
when(context.getAuthor().getGuild()).thenReturn(context.getGuild());
when(converter.fromLeaderBoardEntry(Arrays.asList(leaderBoardEntry))).thenReturn(CompletableFuture.completedFuture(Arrays.asList(leaderBoardEntryModel)));
when(self.renderAndSendRank(eq(context), any(RankModel.class), eq(leaderBoardEntryModel))).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(context);

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.experience.command;
import dev.sheldan.abstracto.core.command.execution.CommandContext;
import dev.sheldan.abstracto.core.command.execution.CommandResult;
import dev.sheldan.abstracto.core.models.database.ARole;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.service.management.RoleManagementService;
import dev.sheldan.abstracto.core.test.command.CommandConfigValidator;
import dev.sheldan.abstracto.core.test.command.CommandTestUtilities;
@@ -46,6 +47,8 @@ public class UnSetExpRoleTest {
CommandContext context = CommandTestUtilities.enhanceWithParameters(noParameters, Arrays.asList(changedRole));
when(context.getChannel().getIdLong()).thenReturn(CHANNEL_ID);
ARole actualRole = Mockito.mock(ARole.class);
AServer server = Mockito.mock(AServer.class);
when(actualRole.getServer()).thenReturn(server);
when(roleManagementService.findRole(changedRole.getId())).thenReturn(actualRole);
when(experienceRoleManagementService.getRoleInServerOptional(actualRole)).thenReturn(Optional.of(Mockito.mock(AExperienceRole.class)));
when(experienceRoleService.unsetRoles(actualRole, CHANNEL_ID)).thenReturn(CompletableFuture.completedFuture(null));

View File

@@ -47,6 +47,7 @@ public class KickTest {
@Test
public void testKickMemberWithoutReason() {
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(memberToKick));
when(memberToKick.getGuild()).thenReturn(parameters.getGuild());
when(parameters.getGuild().getIdLong()).thenReturn(SERVER_ID);
when(templateService.renderSimpleTemplate(Kick.KICK_DEFAULT_REASON_TEMPLATE, SERVER_ID)).thenReturn(REASON);
when(kickService.kickMember(eq(memberToKick), eq(REASON), logModelArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
@@ -62,6 +63,7 @@ public class KickTest {
public void testKickMemberWithReason() {
String customReason = "reason2";
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(memberToKick, customReason));
when(memberToKick.getGuild()).thenReturn(parameters.getGuild());
when(kickService.kickMember(eq(memberToKick), eq(customReason), logModelArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
KickLogModel usedLogModel = logModelArgumentCaptor.getValue();

View File

@@ -43,6 +43,7 @@ public class PurgeTest {
Member messageAuthor = Mockito.mock(Member.class);
Integer count = 10;
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(count, messageAuthor));
when(messageAuthor.getGuild()).thenReturn(parameters.getGuild());
when(purgeService.purgeMessagesInChannel(count, parameters.getChannel(), parameters.getMessage(), messageAuthor)).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
Assert.assertEquals(ResultState.SELF_DESTRUCT, result.join().getResult());

View File

@@ -51,6 +51,7 @@ public class SlowModeTest {
String duration = "off";
TextChannel channel = Mockito.mock(TextChannel.class);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(duration, channel));
when(channel.getGuild()).thenReturn(parameters.getGuild());
when(slowModeService.setSlowMode(channel, Duration.ZERO)).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(result);
@@ -61,6 +62,7 @@ public class SlowModeTest {
String duration = "1m";
TextChannel channel = Mockito.mock(TextChannel.class);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(duration, channel));
when(channel.getGuild()).thenReturn(parameters.getGuild());
when(slowModeService.setSlowMode(channel, Duration.ofMinutes(1))).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(result);

View File

@@ -37,6 +37,7 @@ public class UserNoteCommandTest {
AUserInAServer userInAServer = Mockito.mock(AUserInAServer.class);
String note = "note";
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member, note));
when(member.getGuild()).thenReturn(parameters.getGuild());
when(userInServerManagementService.loadOrCreateUser(member)).thenReturn(userInAServer);
CommandResult result = testUnit.execute(parameters);
verify(userNoteManagementService, times(1)).createUserNote(userInAServer, note);

View File

@@ -55,6 +55,7 @@ public class UserNotesTest {
public void testExecuteUserNotesCommandForMember() {
Member member = Mockito.mock(Member.class);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member));
when(member.getGuild()).thenReturn(parameters.getGuild());
AUserInAServer userNoteUser = Mockito.mock(AUserInAServer.class);
when(userInServerManagementService.loadOrCreateUser(member)).thenReturn(userNoteUser);
UserNote firstNote = Mockito.mock(UserNote.class);

View File

@@ -42,6 +42,7 @@ public class WarnTest {
Member warnedMember = Mockito.mock(Member.class);
String reason = "reason";
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(warnedMember, reason));
when(warnedMember.getGuild()).thenReturn(parameters.getGuild());
when(parameters.getGuild().getIdLong()).thenReturn(SERVER_ID);
when(templateService.renderSimpleTemplate(Warn.WARN_DEFAULT_REASON_TEMPLATE, SERVER_ID)).thenReturn(DEFAULT_REASON);
when(warnService.warnUserWithLog(parameterCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
@@ -57,6 +58,7 @@ public class WarnTest {
public void testExecuteWarnCommandWithDefaultReason() {
Member warnedMember = Mockito.mock(Member.class);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(warnedMember));
when(warnedMember.getGuild()).thenReturn(parameters.getGuild());
when(parameters.getGuild().getIdLong()).thenReturn(SERVER_ID);
when(templateService.renderSimpleTemplate(Warn.WARN_DEFAULT_REASON_TEMPLATE, SERVER_ID)).thenReturn(DEFAULT_REASON);
when(warnService.warnUserWithLog(parameterCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));

View File

@@ -100,6 +100,7 @@ public class WarningsTest {
public void testExecuteWarningsForMember(){
Member member = Mockito.mock(Member.class);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member));
when(member.getGuild()).thenReturn(parameters.getGuild());
AUserInAServer warnedUser = Mockito.mock(AUserInAServer.class);
Warning firstWarning = Mockito.mock(Warning.class);
WarnEntry firstModelWarning = Mockito.mock(WarnEntry.class);

View File

@@ -43,6 +43,7 @@ public class MuteTest {
String reason = "reason";
Duration duration = Duration.ofMinutes(1);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(mutedMember, duration, reason));
when(mutedMember.getGuild()).thenReturn(parameters.getGuild());
when(muteService.muteMemberWithLog(muteLogArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
CommandTestUtilities.checkSuccessfulCompletionAsync(result);

View File

@@ -45,6 +45,7 @@ public class SetMuteRoleTest {
ARole aRole = Mockito.mock(ARole.class);
when(roleManagementService.findRole(roleId)).thenReturn(aRole);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(role));
when(role.getGuild()).thenReturn(parameters.getGuild());
AServer server = Mockito.mock(AServer.class);
when(serverManagementService.loadServer(parameters.getGuild())).thenReturn(server);
CommandResult result = testUnit.execute(parameters);

View File

@@ -44,6 +44,7 @@ public class UnMuteTest {
@Test
public void testUnMuteCommand() {
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(memberToUnMute));
when(memberToUnMute.getGuild()).thenReturn(parameters.getGuild());
AUserInAServer user = Mockito.mock(AUserInAServer.class);
when(userInServerManagementService.loadOrCreateUser(memberToUnMute)).thenReturn(user);
when(muteService.unMuteUser(user)).thenReturn(CompletableFuture.completedFuture(null));
@@ -54,6 +55,7 @@ public class UnMuteTest {
@Test(expected = NoMuteFoundException.class)
public void testUnMuteCommandWithoutExistingMute() {
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(memberToUnMute));
when(memberToUnMute.getGuild()).thenReturn(parameters.getGuild());
AUserInAServer user = Mockito.mock(AUserInAServer.class);
when(userInServerManagementService.loadOrCreateUser(memberToUnMute)).thenReturn(user);
when(muteService.unMuteUser(user)).thenThrow(new NoMuteFoundException());

View File

@@ -33,6 +33,7 @@ public class ShowAvatarTest {
@Test
public void executeWithoutParameter() {
CommandContext noParameters = CommandTestUtilities.getNoParameters();
when(noParameters.getAuthor().getGuild()).thenReturn(noParameters.getGuild());
CompletableFuture<CommandResult> result = testUnit.executeAsync(noParameters);
verify(channelService, times(1)).sendEmbedTemplateInTextChannelList(eq(ShowAvatar.SHOW_AVATAR_RESPONSE_TEMPLATE), argumentCaptor.capture(), eq(noParameters.getChannel()));
ShowAvatarModel usedModel = argumentCaptor.getValue();
@@ -44,6 +45,7 @@ public class ShowAvatarTest {
public void executeWithParameter() {
Member target = Mockito.mock(Member.class);
CommandContext noParameters = CommandTestUtilities.getWithParameters(Arrays.asList(target));
when(target.getGuild()).thenReturn(noParameters.getGuild());
CompletableFuture<CommandResult> result = testUnit.executeAsync(noParameters);
verify(channelService, times(1)).sendEmbedTemplateInTextChannelList(eq(ShowAvatar.SHOW_AVATAR_RESPONSE_TEMPLATE), argumentCaptor.capture(), eq(noParameters.getChannel()));
ShowAvatarModel usedModel = argumentCaptor.getValue();

View File

@@ -41,6 +41,7 @@ public class UserInfoTest {
@Test
public void executeWithoutParameterAndLoadedMember() {
CommandContext noParameters = CommandTestUtilities.getNoParameters();
when(noParameters.getAuthor().getGuild()).thenReturn(noParameters.getGuild());
when(noParameters.getAuthor().hasTimeJoined()).thenReturn(true);
when(self.sendResponse(eq(noParameters),any(UserInfoModel.class))).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(noParameters);
@@ -55,7 +56,7 @@ public class UserInfoTest {
CommandContext noParameters = CommandTestUtilities.getNoParameters();
when(noParameters.getAuthor().hasTimeJoined()).thenReturn(false);
Member loadedAuthor = Mockito.mock(Member.class);
when(noParameters.getAuthor().getGuild()).thenReturn(Mockito.mock(Guild.class));
when(noParameters.getAuthor().getGuild()).thenReturn(noParameters.getGuild());
when(memberService.forceReloadMember(noParameters.getAuthor())).thenReturn(CompletableFuture.completedFuture(loadedAuthor));
when(self.sendResponse(eq(noParameters), modelArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(noParameters);
@@ -69,6 +70,7 @@ public class UserInfoTest {
Member member = Mockito.mock(Member.class);
when(member.hasTimeJoined()).thenReturn(true);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member));
when(member.getGuild()).thenReturn(parameters.getGuild());
when(self.sendResponse(eq(parameters), modelArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);
UserInfoModel usedModel = modelArgumentCaptor.getValue();
@@ -81,8 +83,8 @@ public class UserInfoTest {
Member member = Mockito.mock(Member.class);
when(member.hasTimeJoined()).thenReturn(false);
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member));
when(member.getGuild()).thenReturn(parameters.getGuild());
Member loadedAuthor = Mockito.mock(Member.class);
when(member.getGuild()).thenReturn(Mockito.mock(Guild.class));
when(memberService.forceReloadMember(member)).thenReturn(CompletableFuture.completedFuture(loadedAuthor));
when(self.sendResponse(eq(parameters), modelArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
CompletableFuture<CommandResult> result = testUnit.executeAsync(parameters);

View File

@@ -8,8 +8,6 @@ import dev.sheldan.abstracto.core.command.service.CommandCoolDownService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.Duration;
@Component
public class CommandCoolDownCondition implements CommandCondition {