mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-27 23:09:05 +00:00
[AB-333] providing some dates as separate instants instead of relying on the member attributes
truncating date to day when displaying the date for export emote stats fixing wrong message when confirming a command and adding missing exception handling
This commit is contained in:
@@ -50,11 +50,15 @@ public class UserInfo extends AbstractConditionableCommand {
|
||||
log.info("Force reloading member {} in guild {} for user info.", memberToShow.getId(), memberToShow.getGuild().getId());
|
||||
return memberService.forceReloadMember(memberToShow).thenCompose(member -> {
|
||||
model.setMemberInfo(member);
|
||||
model.setCreationDate(member.getTimeCreated().toInstant());
|
||||
model.setJoinDate(member.getTimeJoined().toInstant());
|
||||
return self.sendResponse(commandContext, model)
|
||||
.thenApply(aVoid -> CommandResult.fromIgnored());
|
||||
});
|
||||
} else {
|
||||
model.setMemberInfo(memberToShow);
|
||||
model.setCreationDate(memberToShow.getTimeCreated().toInstant());
|
||||
model.setJoinDate(memberToShow.getTimeJoined().toInstant());
|
||||
return self.sendResponse(commandContext, model)
|
||||
.thenApply(aVoid -> CommandResult.fromIgnored());
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ import org.junit.runner.RunWith;
|
||||
import org.mockito.*;
|
||||
import org.mockito.junit.MockitoJUnitRunner;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
@@ -43,6 +45,8 @@ public class UserInfoTest {
|
||||
CommandContext noParameters = CommandTestUtilities.getNoParameters();
|
||||
when(noParameters.getAuthor().getGuild()).thenReturn(noParameters.getGuild());
|
||||
when(noParameters.getAuthor().hasTimeJoined()).thenReturn(true);
|
||||
when(noParameters.getAuthor().getTimeJoined()).thenReturn(OffsetDateTime.now());
|
||||
when(noParameters.getAuthor().getTimeCreated()).thenReturn(OffsetDateTime.now());
|
||||
when(self.sendResponse(eq(noParameters),any(UserInfoModel.class))).thenReturn(CompletableFuture.completedFuture(null));
|
||||
CompletableFuture<CommandResult> result = testUnit.executeAsync(noParameters);
|
||||
verify(self, times(1)).sendResponse(eq(noParameters), modelArgumentCaptor.capture());
|
||||
@@ -56,6 +60,8 @@ public class UserInfoTest {
|
||||
CommandContext noParameters = CommandTestUtilities.getNoParameters();
|
||||
when(noParameters.getAuthor().hasTimeJoined()).thenReturn(false);
|
||||
Member loadedAuthor = Mockito.mock(Member.class);
|
||||
when(loadedAuthor.getTimeJoined()).thenReturn(OffsetDateTime.now());
|
||||
when(loadedAuthor.getTimeCreated()).thenReturn(OffsetDateTime.now());
|
||||
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));
|
||||
@@ -69,6 +75,8 @@ public class UserInfoTest {
|
||||
public void executeTestWithParameterLoadedMember() {
|
||||
Member member = Mockito.mock(Member.class);
|
||||
when(member.hasTimeJoined()).thenReturn(true);
|
||||
when(member.getTimeJoined()).thenReturn(OffsetDateTime.now());
|
||||
when(member.getTimeCreated()).thenReturn(OffsetDateTime.now());
|
||||
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member));
|
||||
when(member.getGuild()).thenReturn(parameters.getGuild());
|
||||
when(self.sendResponse(eq(parameters), modelArgumentCaptor.capture())).thenReturn(CompletableFuture.completedFuture(null));
|
||||
@@ -85,6 +93,8 @@ public class UserInfoTest {
|
||||
CommandContext parameters = CommandTestUtilities.getWithParameters(Arrays.asList(member));
|
||||
when(member.getGuild()).thenReturn(parameters.getGuild());
|
||||
Member loadedAuthor = Mockito.mock(Member.class);
|
||||
when(loadedAuthor.getTimeJoined()).thenReturn(OffsetDateTime.now());
|
||||
when(loadedAuthor.getTimeCreated()).thenReturn(OffsetDateTime.now());
|
||||
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);
|
||||
|
||||
@@ -6,9 +6,13 @@ import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@SuperBuilder
|
||||
public class UserInfoModel extends SlimUserInitiatedServerContext {
|
||||
private Member memberInfo;
|
||||
private Instant joinDate;
|
||||
private Instant creationDate;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user