コード例 #1
0
        public void ReturnViewWithReturnUrlInViewBag()
        {
            // Arrange
            var userSvMock = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();
            var userServiceManagerMock   = new Mock <IUserManagerService>();
            var fakeUser = new Users();

            userSvMock.Setup(x => x.GetByUserName(It.IsAny <string>())).Returns(fakeUser);
            var sut = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);


            var fakeHttpContext = new Mock <HttpContextBase>();
            var fakeIdentity    = new GenericIdentity("User");
            var principal       = new GenericPrincipal(fakeIdentity, null);

            fakeHttpContext.Setup(t => t.User).Returns(principal);
            sut.ControllerContext = new ControllerContext
            {
                Controller  = sut,
                HttpContext = fakeHttpContext.Object
            };
            var mapper = new AutoMapperConfig();

            mapper.Execute(Assembly.GetExecutingAssembly());
            Mapper.Initialize(cfg =>
                              cfg.CreateMap <Users, AccountInfoEditViewModel>());

            // Act & Assert
            sut
            .WithCallTo(c => c.Edit())
            .ShouldRenderDefaultView()
            .WithModel <AccountInfoEditViewModel>();
        }
コード例 #2
0
        public void ShouldRedirectToIndex()
        {
            //Arange
            var userSvMock = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();
            var userServiceManagerMock   = new Mock <IUserManagerService>();
            var sut             = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);
            var fakeHttpContext = new Mock <HttpContextBase>();
            var data            = new Dictionary <string, object>()
            {
                { "a", "b" }     // fake whatever  you need here.
            };

            fakeHttpContext.Setup(x => x.Items[It.IsAny <string>()]).Returns(data);
            sut.ControllerContext = new ControllerContext
            {
                Controller  = sut,
                HttpContext = fakeHttpContext.Object
            };

            //Act and Assert
            sut
            .WithCallTo(c => c.LogOff())
            .ShouldRedirectTo <TelerikMovies.Web.Controllers.HomeController>(c2 => c2.Index());
        }
コード例 #3
0
ファイル: Register.cs プロジェクト: vasil87/MoviesMVC
        private TelerikMovies.Web.Controllers.AccountController setUpControler()
        {
            var userSvMock = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();
            var userServiceManagerMock   = new Mock <IUserManagerService>();
            var accountController        = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);

            return(accountController);
        }
コード例 #4
0
ファイル: Constructor.cs プロジェクト: vasil87/MoviesMVC
        private TelerikMovies.Web.Controllers.AccountController SetupController()
        {
            var moqUserSv        = new Mock <IUsersService>();
            var moqUserManager   = new Mock <IUserManagerService>();
            var moqsingInManager = new Mock <ISignInManagerService>();

            var result = new TelerikMovies.Web.Controllers.AccountController(moqUserSv.Object, moqsingInManager.Object, moqUserManager.Object);

            return(result);
        }
コード例 #5
0
        public void ReturnBackWithErrorOnInvalidModelWrongEmail()
        {
            // Arrange
            var userSvMock = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();
            var userServiceManagerMock   = new Mock <IUserManagerService>();
            var fakeUser = new Users();
            var sut      = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);


            var fakeHttpContext = new Mock <HttpContextBase>();
            var fakeIdentity    = new GenericIdentity("User");
            var principal       = new GenericPrincipal(fakeIdentity, null);

            fakeHttpContext.Setup(t => t.User).Returns(principal);
            sut.ControllerContext = new ControllerContext
            {
                Controller  = sut,
                HttpContext = fakeHttpContext.Object
            };
            var mapper = new AutoMapperConfig();

            mapper.Execute(Assembly.GetExecutingAssembly());
            Mapper.Initialize(cfg =>
                              cfg.CreateMap <Users, AccountInfoEditViewModel>());
            Mapper.Initialize(cfg =>
                              cfg.CreateMap <AccountInfoEditViewModel, Users>());

            var editModel = new AccountInfoEditViewModel()
            {
                FirstName = "Vasil",
                LastName  = "Kamburov",
                City      = "Bourgas",
                ImgUrl    = "",
                isMale    = true,
                UserName  = "******"
            };

            sut.ModelState.AddModelError("UserName", "Ivalid User");

            // Act & Assert
            sut
            .WithCallTo(c => c.Edit(editModel))
            .ShouldRenderDefaultView()
            .WithModel <AccountInfoEditViewModel>()
            .AndModelErrorFor(m => m.UserName);
        }
コード例 #6
0
ファイル: Register.cs プロジェクト: vasil87/MoviesMVC
        public void RedirectsToHomeControllerIndexAndCallsSignIn()
        {
            var userSvMock = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();
            var userServiceManagerMock   = new Mock <IUserManagerService>();

            userServiceManagerMock.Setup(x => x.CreateAsync(It.IsAny <Users>(), It.IsAny <string>())).ReturnsAsync(IdentityResult.Success);
            var sut           = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);
            var registerModel = new RegisterViewModel()
            {
                Email = "*****@*****.**", Password = "******", ConfirmPassword = "******"
            };

            // Act & Assert
            sut
            .WithCallTo(c => c.Register(registerModel))
            .ShouldRedirectTo <TelerikMovies.Web.Controllers.HomeController>(m => m.Index());

            signInServiceManagerMock.Verify(x => x.SignInAsync(It.IsAny <Users>(), It.IsAny <bool>(), It.IsAny <bool>()), Times.AtLeastOnce());
        }
コード例 #7
0
ファイル: Register.cs プロジェクト: vasil87/MoviesMVC
        public void ReturnInvalidAndReturnsErrorWhenInValidData()
        {
            // Arrange
            var error      = "Error";
            var userSvMock = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();
            var userServiceManagerMock   = new Mock <IUserManagerService>();

            userServiceManagerMock.Setup(x => x.CreateAsync(It.IsAny <Users>(), It.IsAny <string>())).ReturnsAsync(IdentityResult.Failed(error));
            var sut           = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);
            var registerModel = new RegisterViewModel()
            {
                Email = "*****@*****.**", Password = "******", ConfirmPassword = "******"
            };

            // Act & Assert
            sut
            .WithCallTo(c => c.Register(registerModel))
            .ShouldRenderDefaultView()
            .WithModel <RegisterViewModel>()
            .AndModelError(string.Empty);
        }
コード例 #8
0
        public void ReturnSuccessWhenValidData()
        {
            var urlHelperMock            = new UrlHelperMocked();
            var userSvMock               = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();

            signInServiceManagerMock.Setup(x => x.PasswordSignInAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())).ReturnsAsync(SignInStatus.Success);;
            var userServiceManagerMock = new Mock <IUserManagerService>();
            var sut = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);

            sut.Url = urlHelperMock;
            var loginModel = new LoginViewModel()
            {
                Email = "*****@*****.**", Password = "******", RememberMe = false
            };
            string returnUrl = "/home/index";

            // Act & Assert
            sut
            .WithCallTo(c => c.Login(loginModel, returnUrl))
            .ShouldRedirectTo(returnUrl);
        }
コード例 #9
0
        public void ReturnInvalidAndReturnsErrorWhenInValidData()
        {
            // Arrange
            var urlHelperMock            = new UrlHelperMocked();
            var userSvMock               = new Mock <IUsersService>();
            var signInServiceManagerMock = new Mock <ISignInManagerService>();

            signInServiceManagerMock.Setup(x => x.PasswordSignInAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())).ReturnsAsync(SignInStatus.Failure);;
            var userServiceManagerMock = new Mock <IUserManagerService>();
            var sut = new TelerikMovies.Web.Controllers.AccountController(userSvMock.Object, signInServiceManagerMock.Object, userServiceManagerMock.Object);

            sut.Url = urlHelperMock;
            var loginModel = new LoginViewModel()
            {
                Email = "*****@*****.**", Password = "******", RememberMe = false
            };
            string returnUrl = "/home/index";

            // Act & Assert
            sut
            .WithCallTo(c => c.Login(loginModel, returnUrl))
            .ShouldRenderDefaultView()
            .WithModel <LoginViewModel>().AndModelError(string.Empty);
        }