public async Task <IActionResult> ResendVerificationAsync([FromBody] ResendVerificationModel model) { var user = await _userService.FindOneAsync(new UserFilter { Email = model.Email, AsNoTracking = true }, x => new User { FirstName = x.FirstName, SignupToken = x.SignupToken }); if (user != null) { await _emailService.SendSignUpAsync(new SignUpEmailModel { Email = model.Email, FirstName = user.FirstName, SignUpToken = user.SignupToken }); } return(Ok()); }
public async Task ResendVerificationShouldSendSignUpEmail() { // Arrange var model = new ResendVerificationModel { Email = "*****@*****.**" }; var user = new User { FirstName = "firstName", SignupToken = "test token" }; _userService.Setup(service => service.FindOneAsync( It.Is <UserFilter>(filter => filter.Email == model.Email && filter.AsNoTracking), It.IsAny <Expression <Func <User, User> > >())) .ReturnsAsync(user); var controller = CreateInstance(); // Act var result = await controller.ResendVerificationAsync(model); // Assert _emailService.Verify(service => service.SendSignUpAsync( It.Is <SignUpEmailModel>(m => m.Email == model.Email && m.SignUpToken == user.SignupToken && m.FirstName == user.FirstName )) ); Assert.IsType <OkResult>(result); }
public async Task <IActionResult> ResendVerificationAsync([FromBody] ResendVerificationModel model) { var user = await _userService.FindByEmailAsync(model.Email); if (user != null) { await _emailService.SendSignUpAsync(new SignUpEmailModel { Email = model.Email, FirstName = user.FirstName, SignUpToken = user.SignupToken }); } return(Ok()); }