@Override public FundDto map(Fund arg0) { if ( arg0 == null ) { return null; } FundDto fundDto = new FundDto(); fundDto.setId( arg0.getId() ); fundDto.setFunderAddress( arg0.getFunderAddress() ); fundDto.setFunderUserId( arg0.getFunderUserId() ); fundDto.setTokenValue( tokenValueDtoMapper.map( arg0.getTokenValue() ) ); fundDto.setRequestId( arg0.getRequestId() ); fundDto.setTimestamp( arg0.getTimestamp() ); fundDto.setBlockchainEventId( arg0.getBlockchainEventId() ); return fundDto; } }
private Optional<String> resolveUserEmail(final FundDto fund) { return Optional.ofNullable(fund.getFunderUserId()) .map(userId -> keycloakRepository.getUser(fund.getFunderUserId())) .map(UserRepresentation::getEmail); }
@TransactionalEventListener public void onFunded(final RequestFundedEvent fundedEvent) { eventPublisher.publishEvent(new RequestFundedNotificationDto(fundedEvent.getFundDto().getBlockchainEventId(), fundedEvent.getTimestamp(), fundedEvent.getRequestId(), fundedEvent.getFundDto().getId())); }
public static FundDto.FundDtoBuilder aFundDto() { final TokenInfoDto fnd = TokenInfoDtoMother.fnd(); return FundDto.builder() .tokenValue(TokenValueDto.builder() .totalAmount(new BigDecimal("3.870000000000000000")) .tokenAddress(fnd.getAddress()) .tokenSymbol(fnd.getSymbol()) .build()) .blockchainEventId(3465L) .funderAddress("0xd24400ae8BfEBb18cA49Be86258a3C749cf46853") .requestId(1L) .timestamp(LocalDateTime.of(2017, Month.DECEMBER, 27, 0, 0)); } }
@Test public void onFunded() { final RequestFundedEvent fundedEvent = RequestFundedEvent.builder() .fundDto(FundDtoMother.aFundDto().build()) .timestamp(LocalDateTime.now()) .requestId(35L).build(); final RequestFundedNotificationDto expected = RequestFundedNotificationDto.builder() .blockchainEventId(fundedEvent.getFundDto().getBlockchainEventId()) .date(fundedEvent.getTimestamp()) .requestId(fundedEvent.getRequestId()) .fundId(fundedEvent.getFundDto().getId()) .build(); eventHandler.onFunded(fundedEvent); verify(applicationEventPublisher).publishEvent(refEq(expected, "uuid")); } }