@Override @Transactional(readOnly = true) public List<RefundRequestDto> findAllRefundRequestsFor(final long requestId, final RefundRequestStatus... statuses) { return refundRequestDtoMapper.mapToList(refundRequestRepository.findAllByRequestIdAndStatusIn(requestId, statuses)); }
@Test public void findAllRefundRequestsForRequestIdAndStatus() { final long requestId = 3389L; final RefundRequestStatus status = PENDING; final List<RefundRequest> refundRequests = new ArrayList<>(); final ArrayList<RefundRequestDto> refundRequestDtos = new ArrayList<>(); when(refundRequestRepository.findAllByRequestIdAndStatusIn(requestId, status)).thenReturn(refundRequests); when(refundRequestDtoMapper.mapToList(same(refundRequests))).thenReturn(refundRequestDtos); final List<RefundRequestDto> result = refundService.findAllRefundRequestsFor(requestId, status); assertThat(result).isSameAs(refundRequestDtos); }
@Override @Transactional public void refundProcessed(final RefundProcessedCommand command) { final List<RefundRequest> refundRequests = refundRequestRepository.findAllByRequestIdAndStatusIn(command.getRequestId(), APPROVED); refundRequests.forEach(refundRequest -> { refundRequest.setStatus(PROCESSED); refundRequest.setTransactionHash(command.getTransactionHash()); }); refundRequestRepository.save(refundRequests); final Refund refund = Refund.builder() .requestId(command.getRequestId()) .funderAddress(command.getFunderAddress()) .blockchainEventId(command.getBlockchainEventId()) .requestedBy(resolveRequestedBy(command, refundRequests).orElse(null)) .tokenValue(TokenValue.builder() .amountInWei(new BigDecimal(command.getAmount())) .tokenAddress(command.getTokenHash()) .build()) .build(); refundRepository.save(refund); cacheManager.getCache ("funds").evict(command.getRequestId()); applicationEventPublisher.publishEvent(new RefundProcessedEvent(refund)); }
when(refundRequestRepository.findAllByRequestIdAndStatusIn(requestId, APPROVED)).thenReturn(refundRequests); when(cacheManager.getCache("funds")).thenReturn(fundsCache);
.build(); when(refundRequestRepository.findAllByRequestIdAndStatusIn(requestId, APPROVED)).thenReturn(new ArrayList<>()); when(refundRequestRepository.findByTransactionHash(transactionHash)).thenReturn(Optional.empty()); when(cacheManager.getCache("funds")).thenReturn(fundsCache);
.build(); when(refundRequestRepository.findAllByRequestIdAndStatusIn(requestId, APPROVED)).thenReturn(new ArrayList<>()); when(refundRequestRepository.findByTransactionHash(transactionHash)).thenReturn(Optional.of(RefundRequest.builder() .requestedBy(requestedBy)