public static void ValidatorApproveLoan(ApproveLoanDto approveLoanDto) { if (approveLoanDto.GmailId == null || approveLoanDto.IsApprove == null) { throw new LoanExeption($"Тhe details of the loan request are invalid"); } }
public async Task ApproveLoan_Test() { var expectedResult = "1"; var loanUtil = LoanGeneratorUtil.GenerateLoan(); var firstEmail = EmailGeneratorUtil.GenerateEmailFirst(); var mockEncodeDecodeService = new Mock <IEncodeDecodeService>().Object; var options = TestUtilities.GetOptions(nameof(ApproveLoan_Test)); using (var actContext = new E_MailApplicationsManagerContext(options)) { var loan = await actContext.LoanApplicants.AddAsync( new LoanApplicant { GmailId = loanUtil.GmailId, EGN = loanUtil.GmailId, Name = loanUtil.Name, PhoneNumber = loanUtil.PhoneNumber, UserId = loanUtil.UserId }); await actContext.Emails.AddAsync(firstEmail); await actContext.SaveChangesAsync(); var loanDto = new ApproveLoanDto { GmailId = loanUtil.GmailId, IsApprove = expectedResult }; var sut = new LoanService(actContext, mockEncodeDecodeService); var result = await sut.ApproveLoanAsync(loanDto); Assert.IsTrue(result); } }
public async Task ThrowExeptionWhenExpectedResultIsNullIn_ApproveLoan_Test() { string expectedResult = null; var gmailId = "TestGmailId"; var mockEncodeDecodeService = new Mock <IEncodeDecodeService>().Object; var options = TestUtilities.GetOptions(nameof(ThrowExeptionWhenExpectedResultIsNullIn_ApproveLoan_Test)); using (var actContext = new E_MailApplicationsManagerContext(options)) { var loanDto = new ApproveLoanDto { GmailId = gmailId, IsApprove = expectedResult }; var sut = new LoanService(actContext, mockEncodeDecodeService); await sut.ApproveLoanAsync(loanDto); } }
public async Task <bool> ApproveLoanAsync(ApproveLoanDto approveLoanDto) { ValidatorLoanService.ValidatorApproveLoan(approveLoanDto); int expectedResult = int.Parse(approveLoanDto.IsApprove); var loan = await this.context.LoanApplicants .Where(gmailId => gmailId.GmailId == approveLoanDto.GmailId) .FirstOrDefaultAsync(); var email = await this.context.Emails .Where(gmailId => gmailId.GmailId == approveLoanDto.GmailId) .FirstOrDefaultAsync(); var user = await this.context.Users .Where(id => id.Id == approveLoanDto.UserId) .SingleOrDefaultAsync(); if (expectedResult == rejectLoan) { loan.IsApproved = false; loan.User = user; } if (expectedResult == approveLoan) { loan.IsApproved = true; loan.User = user; } email.SetCurrentStatus = DateTime.Now; email.EmailStatusId = (int)EmailStatusesType.Closed; email.SetTerminalState = DateTime.Now; await this.context.SaveChangesAsync(); return(true); }
public async Task <IActionResult> ApproveLoan(string approveData, string rejectData) { string[] expectedResult = null; try { if (approveData != null) { expectedResult = approveData.Split(' '); var approveDto = new ApproveLoanDto { IsApprove = expectedResult[0], GmailId = expectedResult[1], UserId = User.FindFirstValue(ClaimTypes.NameIdentifier) }; await this.loanService.ApproveLoanAsync(approveDto); } else if (rejectData != null) { expectedResult = rejectData.Split(' '); var approveDto = new ApproveLoanDto { IsApprove = expectedResult[0], GmailId = expectedResult[1], UserId = User.FindFirstValue(ClaimTypes.NameIdentifier) }; await this.loanService.ApproveLoanAsync(approveDto); } } catch (LoanExeption ex) { return(Json(new { message = ex })); } return(Json(new { emailId = expectedResult[1] })); }