public async void login_should_redirect_if_model_is_valid() { //arrange const int id = 1; const string email = "*****@*****.**"; const string name = "test"; var validModel = new LoginModel { Email = email, Password = "******" }; var userService = new Mock<IUserService>(); userService.Setup(x => x.Authenticate(validModel.Email, validModel.Password)).Returns(() => Task.FromResult(true)); userService.Setup(x => x.GetByEmail(validModel.Email)) .Returns(() => Task.FromResult(new User { Id = id, Name = name, Email = email })); var formsAuthenticationService = new Mock<IFormsAuthenticationService>(); formsAuthenticationService.Setup(x => x.SignIn(string.Format("{0}|{1}|{2}", id, name, email), true)); //act var sut = new UserControllerBuilder().WithUserService(userService.Object) .WithFormsAuthenticationService(formsAuthenticationService.Object) .Build(); var view = await sut.Login(validModel) as RedirectResult; //assert Assert.NotNull(view); Assert.AreEqual(view.Url, "/user/apps"); userService.Verify(x => x.Authenticate(validModel.Email, validModel.Password), Times.Once); sut.AssertPostAndAntiForgeryTokenAttribute("Login", new[] { typeof(LoginModel) }); sut.AssertAllowAnonymousAttribute("Login", new[] { typeof(LoginModel) }); }
public async void login_should_return_with_login_model_if_model_is_invalid() { //arrange var invalidModel = new LoginModel { Email = "*****@*****.**" }; //act var sut = new UserControllerBuilder().Build(); ; var view = await sut.Login(invalidModel) as ViewResult; //assert Assert.NotNull(view); var model = view.Model; Assert.NotNull(model); Assert.IsAssignableFrom(typeof(LoginModel), model); sut.AssertPostAndAntiForgeryTokenAttribute("Login", new[] { typeof(LoginModel) }); sut.AssertAllowAnonymousAttribute("Login", new[] { typeof(LoginModel) }); }
public void login_should_return_with_login_model() { //act var sut = new UserControllerBuilder().Build(); var view = sut.Login() as ViewResult; //assert Assert.NotNull(view); var model = view.Model; Assert.NotNull(model); Assert.IsAssignableFrom(typeof(LoginModel), model); sut.AssertGetAttribute("Login"); sut.AssertAllowAnonymousAttribute("Login"); }