Как выполнить модульное тестирование для метода Register (), предоставленного шаблоном аутентификации в ASP. NET Web API? - PullRequest
0 голосов
/ 24 января 2020

Ниже приведен тест, который я написал для метода Register (). Возвращает результат null. Абсолютно новый для модульного тестирования и moq. Пожалуйста, помогите мне здесь.

        [TestMethod]
        public async Task Register()
        {
            RegisterBindingModel model = new RegisterBindingModel();
            model.Email = "bob@gmail.com";
            model.Password = "Az@123456";
            model.ConfirmPassword = "Az@123456";

            var userStore = new Mock<IUserStore<ApplicationUser>>();
            var passwordManager = userStore.As<IUserPasswordStore<ApplicationUser>>();
            var userManager = new ApplicationUserManager(userStore.Object);
            var accessTokenFormat = new Mock<ISecureDataFormat<AuthenticationTicket>>();
            var controller = new AccountController(userManager, accessTokenFormat.Object);

            var result = await controller.Register(model) as StatusCodeResult;
            Assert.IsNotNull(result);
            Assert.AreEqual(result.StatusCode, HttpStatusCode.OK);
        }

Регистрация метода в контроллере учетной записи:

        [AllowAnonymous]
        [Route("Register")]
        public async Task<IHttpActionResult> Register(RegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };

            IdentityResult result = await UserManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return GetErrorResult(result);
            }

            return Ok();
        }
...