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>(); }
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()); }
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); }
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); }
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); }
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()); }
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); }
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); }
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); }