/** * Increases {@link KycInfo#noOfRemindersSent} for the specified investor by one * @param investorId The id of the investor * @return The KYC info that was changed * @throws InvestorNotFoundException if the investor does not exist in the database */ @Transactional public KycInfo increaseNumberOfRemindersSent(long investorId) throws InvestorNotFoundException { Optional<KycInfo> kycInfoFromDb = kycInfoRepository.findOptionalByInvestorId(investorId); if(kycInfoFromDb.isPresent()) { KycInfo kycInfo = kycInfoFromDb.get().setNoOfRemindersSent(kycInfoFromDb.get().getNoOfRemindersSent() + 1); kycInfoFromDb = Optional.of(kycInfoRepository.save(kycInfo)); } return kycInfoFromDb.orElseThrow(InvestorNotFoundException::new); }
private void assertKycInfo(KycInfo kycInfo, long investorId, boolean isKycStartEmailSent, int noOfRemindersSent, boolean isKycComplete, URI kycUri) { assertEquals(investorId, (long) kycInfo.getInvestorId()); assertEquals(isKycStartEmailSent, kycInfo.isStartKycEmailSent()); assertEquals(noOfRemindersSent, (int) kycInfo.getNoOfRemindersSent()); assertEquals(isKycComplete, kycInfo.isKycComplete()); assertEquals(kycUri.toASCIIString(), kycInfo.getKycUri()); }