@Test void map_noRefunderUserId() { final String refunderAddress = "0x45HDF80"; final TokenValue tokenValue = mock(TokenValue.class); final Refund refund = Refund.builder() .funderAddress(refunderAddress) .tokenValue(tokenValue) .requestId(543L) .creationDate(LocalDateTime.now()).blockchainEventId(238L) .build(); final TokenValueDto tokenValueDto = TokenValueDto.builder().tokenSymbol("SOT").totalAmount(new BigDecimal("23")).build(); final UserProfile loggedInUserProfile = UserProfile.builder().id("efsgfbg").etherAddresses(Collections.singletonList("0xrdtdr")).name("sfas").build(); when(tokenValueDtoMapper.map(tokenValue)).thenReturn(tokenValueDto); when(securityContextService.getLoggedInUserProfile()).thenReturn(Optional.of(loggedInUserProfile)); final FundWithUserDto result = mapper.map(refund); assertThat(result.getFunder()).isEqualTo(refunderAddress); assertThat(result.getFunderAddress()).isEqualTo(refunderAddress); assertThat(result.getFndFunds()).isNull(); assertThat(result.getOtherFunds().getTokenSymbol()).isEqualTo(tokenValueDto.getTokenSymbol()); assertThat(result.getOtherFunds().getTokenAddress()).isEqualTo(tokenValueDto.getTokenAddress()); assertThat(result.getOtherFunds().getTotalAmount()).isEqualTo(tokenValueDto.getTotalAmount().negate()); assertThat(result.isLoggedInUser()).isFalse(); assertThat(result.getTimestamp()).isEqualToIgnoringMinutes(LocalDateTime.now()); assertThat(result.isRefund()).isTrue(); } }
@Test void map_loggedInUserDifferentAddress() { final String refunderUserId = "gdhfgj"; final String refunderAddress = "0x45HDF80"; final String refunderUserName = "hgjgfk"; final TokenValue tokenValue = mock(TokenValue.class); final Refund refund = Refund.builder() .requestedBy(refunderUserId) .funderAddress(refunderAddress) .tokenValue(tokenValue) .requestId(543L) .creationDate(LocalDateTime.now()).blockchainEventId(238L) .build(); final TokenValueDto tokenValueDto = TokenValueDto.builder().tokenSymbol("SOT").totalAmount(new BigDecimal("23")).build(); final UserProfile refundUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList(refunderAddress)).name(refunderUserName).build(); final UserProfile loggedInUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList("0xrdtdr")).name(refunderUserName).build(); when(tokenValueDtoMapper.map(tokenValue)).thenReturn(tokenValueDto); when(profileService.getUserProfile(any())).thenReturn(refundUserProfile); when(securityContextService.getLoggedInUserProfile()).thenReturn(Optional.of(loggedInUserProfile)); final FundWithUserDto result = mapper.map(refund); assertThat(result.getFunder()).isEqualTo(refunderUserName); assertThat(result.getFunderAddress()).isEqualTo(refunderAddress); assertThat(result.getFndFunds()).isNull(); assertThat(result.getOtherFunds().getTokenSymbol()).isEqualTo(tokenValueDto.getTokenSymbol()); assertThat(result.getOtherFunds().getTokenAddress()).isEqualTo(tokenValueDto.getTokenAddress()); assertThat(result.getOtherFunds().getTotalAmount()).isEqualTo(tokenValueDto.getTotalAmount().negate()); assertThat(result.isLoggedInUser()).isFalse(); assertThat(result.getTimestamp()).isEqualToIgnoringMinutes(LocalDateTime.now()); assertThat(result.isRefund()).isTrue(); }
@Test void map_otherToken() { final String refunderUserId = "gdhfgj"; final String refunderAddress = "0x45HDF80"; final String refunderUserName = "hgjgfk"; final TokenValue tokenValue = mock(TokenValue.class); final Refund refund = Refund.builder() .requestedBy(refunderUserId) .funderAddress(refunderAddress) .tokenValue(tokenValue) .requestId(543L) .creationDate(LocalDateTime.now()).blockchainEventId(238L) .build(); final TokenValueDto tokenValueDto = TokenValueDto.builder().tokenSymbol("SOT").totalAmount(new BigDecimal("40")).build(); final UserProfile refundUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList(refunderAddress)).name(refunderUserName).build(); final UserProfile loggedInUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList(refunderAddress)).name(refunderUserName).build(); when(tokenValueDtoMapper.map(tokenValue)).thenReturn(tokenValueDto); when(profileService.getUserProfile(any())).thenReturn(refundUserProfile); when(securityContextService.getLoggedInUserProfile()).thenReturn(Optional.of(loggedInUserProfile)); final FundWithUserDto result = mapper.map(refund); assertThat(result.getFunder()).isEqualTo(refunderUserName); assertThat(result.getFunderAddress()).isEqualTo(refunderAddress); assertThat(result.getFndFunds()).isNull(); assertThat(result.getOtherFunds().getTokenSymbol()).isEqualTo(tokenValueDto.getTokenSymbol()); assertThat(result.getOtherFunds().getTokenAddress()).isEqualTo(tokenValueDto.getTokenAddress()); assertThat(result.getOtherFunds().getTotalAmount()).isEqualTo(tokenValueDto.getTotalAmount().negate()); assertThat(result.isLoggedInUser()).isTrue(); assertThat(result.getTimestamp()).isEqualToIgnoringMinutes(LocalDateTime.now()); assertThat(result.isRefund()).isTrue(); }
@Test void map_FND() { final String refunderUserId = "gdhfgj"; final String refunderAddress = "0x45HDF80"; final String refunderUserName = "hgjgfk"; final TokenValue tokenValue = mock(TokenValue.class); final Refund refund = Refund.builder() .requestedBy(refunderUserId) .funderAddress(refunderAddress) .tokenValue(tokenValue) .requestId(543L) .creationDate(LocalDateTime.now()).blockchainEventId(238L) .build(); final TokenValueDto tokenValueDto = TokenValueDto.builder().tokenSymbol("FND").totalAmount(new BigDecimal("445")).build(); final UserProfile refundUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList(refunderAddress)).name(refunderUserName).build(); final UserProfile loggedInUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList(refunderAddress)).name(refunderUserName).build(); when(tokenValueDtoMapper.map(tokenValue)).thenReturn(tokenValueDto); when(profileService.getUserProfile(any())).thenReturn(refundUserProfile); when(securityContextService.getLoggedInUserProfile()).thenReturn(Optional.of(loggedInUserProfile)); final FundWithUserDto result = mapper.map(refund); assertThat(result.getFunder()).isEqualTo(refunderUserName); assertThat(result.getFunderAddress()).isEqualTo(refunderAddress); assertThat(result.getFndFunds().getTokenSymbol()).isEqualTo(tokenValueDto.getTokenSymbol()); assertThat(result.getFndFunds().getTokenAddress()).isEqualTo(tokenValueDto.getTokenAddress()); assertThat(result.getFndFunds().getTotalAmount()).isEqualTo(tokenValueDto.getTotalAmount().negate()); assertThat(result.getOtherFunds()).isNull(); assertThat(result.isLoggedInUser()).isTrue(); assertThat(result.getTimestamp()).isEqualToIgnoringMinutes(LocalDateTime.now()); assertThat(result.isRefund()).isTrue(); }
@Test void map_loggedInUserDifferentUser() { final String refunderUserId = "gdhfgj"; final String refunderAddress = "0x45HDF80"; final String refunderUserName = "hgjgfk"; final TokenValue tokenValue = mock(TokenValue.class); final Refund refund = Refund.builder() .requestedBy(refunderUserId) .funderAddress(refunderAddress) .tokenValue(tokenValue) .requestId(543L) .creationDate(LocalDateTime.now()).blockchainEventId(238L) .build(); final TokenValueDto tokenValueDto = TokenValueDto.builder().tokenSymbol("SOT").totalAmount(new BigDecimal("23")).build(); final UserProfile refundUserProfile = UserProfile.builder().id(refunderUserId).etherAddresses(Collections.singletonList(refunderAddress)).name(refunderUserName).build(); final UserProfile loggedInUserProfile = UserProfile.builder().id("fgh").etherAddresses(Collections.singletonList("0xrdtdr")).name(refunderUserName).build(); when(tokenValueDtoMapper.map(tokenValue)).thenReturn(tokenValueDto); when(profileService.getUserProfile(any())).thenReturn(refundUserProfile); when(securityContextService.getLoggedInUserProfile()).thenReturn(Optional.of(loggedInUserProfile)); final FundWithUserDto result = mapper.map(refund); assertThat(result.getFunder()).isEqualTo(refunderUserName); assertThat(result.getFunderAddress()).isEqualTo(refunderAddress); assertThat(result.getFndFunds()).isNull(); assertThat(result.getOtherFunds().getTokenSymbol()).isEqualTo(tokenValueDto.getTokenSymbol()); assertThat(result.getOtherFunds().getTokenAddress()).isEqualTo(tokenValueDto.getTokenAddress()); assertThat(result.getOtherFunds().getTotalAmount()).isEqualTo(tokenValueDto.getTotalAmount().negate()); assertThat(result.isLoggedInUser()).isFalse(); assertThat(result.getTimestamp()).isEqualToIgnoringMinutes(LocalDateTime.now()); assertThat(result.isRefund()).isTrue(); }