コード例 #1
0
        public async Task <IActionResult> Register(ViewModel.Register model)
        {
            model.ClearMessages();

            if (ModelState.IsValid)
            {
                try
                {
                    var user = new User
                    {
                        Name     = model.Name,
                        UserName = model.Email,
                        Email    = model.Email,
                    };

                    var result = await _service.RegisterUserAsync(user, model.Password);

                    if (result)
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                catch (Exception ex)
                {
                    model.ErrorMessage = $"Error registerring user: {ex.Message}";
                    _logger.LogError(ex, "Error registerring user");
                }
            }

            return(View(model));
        }
コード例 #2
0
        public async Task AccountController_Register_Successful()
        {
            var mockLogger         = Mock.Of <ILogger <AccountController> >();
            var mockUserProvider   = Mock.Of <IUserProvider>();
            var mockAccountService = new MockAccountService().MockRegisterUserAsync(true);

            var accountController = new AccountController(mockUserProvider, mockAccountService.Object, mockLogger);

            var registerViewModel = new ViewModel.Register
            {
                Name            = "Test User",
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******"
            };

            var result = (RedirectToActionResult)await accountController.Register(registerViewModel);

            Assert.Equal("Home", result.ControllerName);
            Assert.Equal("Index", result.ActionName);
        }
コード例 #3
0
        public async Task AccountController_Register_Unsuccessful()
        {
            var mockLogger         = Mock.Of <ILogger <AccountController> >();
            var mockUserProvider   = Mock.Of <IUserProvider>();
            var mockAccountService = new MockAccountService().MockRegisterUserAsync(false);

            var accountController = new AccountController(mockUserProvider, mockAccountService.Object, mockLogger);

            var registerViewModel = new ViewModel.Register
            {
                Name            = "Test User",
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******"
            };

            var result = (ViewResult)await accountController.Register(registerViewModel);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsType <ViewModel.Register>(viewResult.ViewData.Model);

            Assert.IsType <ViewModel.Register>(model);
        }
コード例 #4
0
        public IActionResult Register()
        {
            var model = new ViewModel.Register();

            return(View(model));
        }