Esempio n. 1
0
        public bool ResendMail(string Email, ref string msg)
        {
            try
            {
                ResendEmailRequest paraBody = new ResendEmailRequest();
                paraBody.Email = Email;

                NSLog.Logger.Info("ResendMail Request: ", paraBody);
                //====================
                var result = (NSApiResponse)ApiResponse.Post <NSApiResponse>(Commons.ClientSideAccountToResendEmail, null, paraBody);
                if (result != null)
                {
                    if (result.Success)
                    {
                        return(true);
                    }
                    else
                    {
                        msg = result.Message;
                        //NSLog.Logger.Info("AccountRegisterCreate", result.Message);
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
                NSLog.Logger.Info("ResendMail Result", result);
            }
            catch (Exception e)
            {
                NSLog.Logger.Error("ResendMail_Fail", e);
                return(false);
            }
        }
Esempio n. 2
0
        public async void ResendEmail_Returns_Success(ResendEmailRequest req, string description)
        {
            //Arrange
            var user = new AppUser
            {
                Email         = req.Email,
                UserName      = req.UserName,
                RefreshTokens = new List <RefreshToken>(),
                Id            = Guid.NewGuid().ToString()
            };

            fakeUserManager.Setup(x => x.FindByEmailAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(user));
            fakeUserManager.Setup(x => x.FindByNameAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(user));

            fakeUserManager.Setup(x => x.CreateAsync(It.IsAny <AppUser>(), It.IsAny <string>()))
            .ReturnsAsync(IdentityResult.Success).Callback <AppUser, string>((x, y) => context.Users.Add(new AppUser
            {
                Email = x.Email
            }));

            // create url helper mock
            Type t           = typeof(UserServiceTest);
            var  httpContext = new Mock <HttpContext>().Object;

            actionContextAccessor.Setup(x => x.ActionContext).Returns(new ActionContext(
                                                                          httpContext,
                                                                          new Microsoft.AspNetCore.Routing.RouteData(),
                                                                          new ControllerActionDescriptor()
            {
                MethodInfo = t.GetMethod(nameof(UserServiceTest.TestRegister_Return_OkResult))
            }));


            mockUrlHelper = new Mock <IUrlHelper>();

            mockUrlHelperFactory.Setup(x => x.GetUrlHelper(It.IsAny <ActionContext>())).Returns(mockUrlHelper.Object);
            mockUrlHelper.SetupGet(h => h.ActionContext).Returns(actionContextAccessor.Object.ActionContext);

            UrlActionContext actual = null;

            mockUrlHelper.Setup(h => h.Action(It.IsAny <UrlActionContext>()))
            .Callback((UrlActionContext context) => actual = context);

            fakeUserManager.Setup(x => x.GenerateEmailConfirmationTokenAsync(It.IsAny <AppUser>())).ReturnsAsync("");
            mockEmailSender.Setup(x => x.SendEmailAsync(It.IsAny <Message>())).Returns(() => Task.FromResult(""));


            //Act
            var result = await _userService.Object.ResendEmail(req);

            //Assert

            Assert.IsType <OkObjectResult>(result);
        }
Esempio n. 3
0
        public async Task ResendVerificationEmail_WhenUserNotFoundById_ReturnsUserNotFound()
        {
            var request = new ResendEmailRequest()
            {
                Email = "*****@*****.**"
            };
            var httpResponse = await PostAsync(AuthControllerRoutes.ResendEmailVerificationCode, request);

            httpResponse.EnsureSuccessStatusCode();
            var response = await httpResponse.BodyAs <ApiResponse>();

            response.ResponseException !.ErrorCode.Should().Be(ErrorCode.UserNotFound);
            response.ResponseException !.ErrorMessage.Should().Be(ErrorCode.UserNotFound.GetDescription());
        }
Esempio n. 4
0
        public async Task ResendVerificationEmail_WhenUserFoundByEmail_ReturnsSuccessResponse()
        {
            var request = new ResendEmailRequest()
            {
                Email = "*****@*****.**"
            };

            var httpResponse = await PostAsync(AuthControllerRoutes.ResendEmailVerificationCode, request);

            httpResponse.EnsureSuccessStatusCode();
            var response = await httpResponse.BodyAs <ApiResponse>();

            response.StatusCode.Should().Be(200);
            response.IsSuccess.Should().BeTrue();
        }
Esempio n. 5
0
        public async Task ResentEmailAsync_WhenFailedToFindUSerByEmail_ShouldReturnUserNotFound()
        {
            var request = new ResendEmailRequest()
            {
                Email = "email",
            };

            _mockUserManger.Setup(e => e.FindByEmailAsync(request.Email))
            .ReturnsAsync((User)null);

            var response = await sut.ResentEmailAsync(request);

            response.IsSuccess.Should().BeFalse();
            response.ResponseException !.ErrorCode.Should().Be(ErrorCode.UserNotFound);
            response.ResponseException.ErrorMessage.Should().Be(ErrorCode.UserNotFound.GetDescription());
        }
Esempio n. 6
0
 // Resend Confirmation Email
 public async Task<HttpResponseMessage> ResendEmail(ResendEmailRequest model)
 {
     if (!ModelState.IsValid)
     {
         return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
     }
     try
     {
         string guid = _userService.GetGuidByEmail(model.Id);
         await _emailService.SendEmailConfirmation(model.Email, guid);
         return Request.CreateResponse(HttpStatusCode.OK);
     }
     catch (Exception ex)
     {
         return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
     }
 }
        public async Task <ApiResponse> ResentEmailAsync(ResendEmailRequest request)
        {
            var user = await _userManager.FindByEmailAsync(request.Email);

            if (user == null)
            {
                return(new ApiResponse <User>(new ApiError()
                {
                    ErrorCode = ErrorCode.UserNotFound,
                    ErrorMessage = ErrorCode.UserNotFound.GetDescription(),
                }));
            }
            return(await _emailHelperService.SendEmailConfirmationEmail(new EmailSendRequest()
            {
                ClientUrl = request.ClientUrl,
                User = user,
            }));
        }
Esempio n. 8
0
        public async Task ReSendEmail([FromBody] ResendEmailRequest request)
        {
            var userId = _authService.GetUserIdByToken(request.Token);
            var user   = await _userService.GetByIdAsync(userId.Value);

            if (user == null)
            {
                throw new AppErrorException(new AppError(ErrorCode.UserNotFound));
            }

            if (user.IsEmailConfirm)
            {
                throw new AppErrorException(new AppError(ErrorCode.RegistrationIsAlreadyConfirmed));
            }

            var token = _mailTokenService.EncryptToken(user.Email);

            var model = new ConfirmRegisterEmailModel {
                UserId = user.Id, Email = user.Email, Token = token
            };

            await _queueProvider.SendMessageAsync(model.ToJson());
        }
 public async Task <ApiResponse> ResendVerificationEmail([FromBody] ResendEmailRequest request)
 {
     return(await _userIdentityService.ResentEmailAsync(request));
 }