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 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 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"); }
public void reset_should_return_with_reset_model() { //act var sut = new UserControllerBuilder().BuildWithMockControllerContext(); var view = sut.Reset() as ViewResult; //assert Assert.NotNull(view); var model = view.Model; Assert.NotNull(model); Assert.IsAssignableFrom(typeof(ResetModel), model); sut.AssertGetAttribute("Reset"); sut.AssertAllowAnonymousAttribute("Reset"); }
public async void new_should_return_with_user_model_if_model_is_invalid() { //arrange var invalidModel = new UserModel { Name = "test name" }; //act var sut = new UserControllerBuilder().Build(); var view = await sut.New(invalidModel) as ViewResult; //assert Assert.NotNull(view); var model = view.Model; Assert.NotNull(model); Assert.IsAssignableFrom(typeof(UserModel), model); sut.AssertPostAndAntiForgeryTokenAttribute("New", new[] { typeof(UserModel) }); sut.AssertAllowAnonymousAttribute("New", new[] { typeof(UserModel) }); }
public async void new_should_redirect_if_model_is_valid() { //arrange var validModel = new UserModel { Name = "test name", Email = "*****@*****.**", Password = "******" }; var userService = new Mock<IUserService>(); userService.Setup(x => x.Create(It.IsAny<UserModel>(), SetLocaleRole.Developer.Value)).Returns(() => Task.FromResult<int?>(1)); var formsAuthenticationService = new Mock<IFormsAuthenticationService>(); formsAuthenticationService.Setup(x => x.SignIn(string.Format("{0}|{1}|{2}", 1, validModel.Name, validModel.Email), true)); //act var sut = new UserControllerBuilder().WithUserService(userService.Object) .WithFormsAuthenticationService(formsAuthenticationService.Object) .Build(); var view = await sut.New(validModel); //assert Assert.NotNull(view); Assert.AreEqual(((RedirectResult)view).Url, "/user/apps"); userService.Verify(x => x.Create(It.IsAny<UserModel>(), SetLocaleRole.Developer.Value), Times.Once); sut.AssertPostAndAntiForgeryTokenAttribute("New", new[] { typeof(UserModel) }); sut.AssertAllowAnonymousAttribute("New", new[] { typeof(UserModel) }); }