@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void onRequestClaimPending(final ClaimRequestedEvent claimRequestedEvent) { telegramService.sendMessageToChannel("Holy Moly, " + claimRequestedEvent.getRequestClaim().getSolver() + " just requested an approval for a claim! (" + claimRequestedEvent.getRequestClaim().getRequestId() + ")"); } }
@Test public void claim() { Principal solver = PrincipalMother.davyvanroy(); UserClaimRequest userClaimRequest = UserClaimRequestMother.kazuki43zooApiStub().build(); Request request = RequestMother.freeCodeCampNoUserStories().build(); when(requestRepository.findByPlatformAndPlatformId(userClaimRequest.getPlatform(), userClaimRequest.getPlatformId())) .thenReturn(Optional.of(request)); RequestDto requestDto = RequestDtoMother.freeCodeCampNoUserStories(); when(mappers.map(Request.class, RequestDto.class, request)).thenReturn(requestDto); when(githubClaimResolver.getUserPlatformUsername(solver, request.getIssueInformation().getPlatform())) .thenReturn(Optional.of(solver.getName())); when(githubClaimResolver.canClaim(solver, requestDto)).thenReturn(true); claimService.claim(solver, userClaimRequest); assertThat(request.getStatus()).isEqualTo(RequestStatus.CLAIM_REQUESTED); verify(requestRepository).save(request); ArgumentCaptor<RequestClaim> requestClaimArgumentCaptor = ArgumentCaptor.forClass(RequestClaim.class); verify(requestClaimRepository).save(requestClaimArgumentCaptor.capture()); RequestClaim requestClaim = requestClaimArgumentCaptor.getValue(); assertThat(requestClaim.getRequestId()).isEqualTo(request.getId()); assertThat(requestClaim.getAddress()).isEqualTo(userClaimRequest.getAddress()); assertThat(requestClaim.getSolver()).isEqualTo(solver.getName()); assertThat(requestClaim.getFlagged()).isFalse(); assertThat(requestClaim.getStatus()).isEqualTo(ClaimRequestStatus.PENDING); }
@Override public RequestClaimDto map(RequestClaim arg0) { if ( arg0 == null ) { return null; } RequestClaimDto requestClaimDto = new RequestClaimDto(); requestClaimDto.setId( arg0.getId() ); requestClaimDto.setAddress( arg0.getAddress() ); requestClaimDto.setSolver( arg0.getSolver() ); requestClaimDto.setStatus( arg0.getStatus() ); requestClaimDto.setFlagged( arg0.getFlagged() ); return requestClaimDto; } }
private SignClaimCommand createSignClaimCommand(RequestClaim requestClaim, Request request) { return SignClaimCommand.builder() .platform(request.getIssueInformation().getPlatform().name()) .platformId(request.getIssueInformation().getPlatformId()) .solver(requestClaim.getSolver()) .address(requestClaim.getAddress()) .build(); } }