public void LogOffAction_ShouldRedirect_To_HomeController_IndexAction() { // Arrange var service = new SignIn_Register_UserServiceMock(); var controller = new UserController(service, null); // Act var result = controller.LogOff() as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["controller"], "Home"); Assert.AreEqual(result.RouteValues["action"], "Index"); // LogOff Was Called : Assert.IsTrue(((SignIn_Register_UserServiceMock)controller.UserService).SignOutWasCalled); }
public void LogOnPost_ShouldCall_LogIn_FromUserService() { // Arrange IUserService service = new SignIn_Register_UserServiceMock(); UserController controller = new UserController(new SignIn_Register_UserServiceMock(), null); User user = new User() { UserName = "******", Password = "******" }; // Act var result = controller.LogOn(user, null) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(((SignIn_Register_UserServiceMock)controller.UserService).SignInWasCalled); }
public void RegisterPOST_Should_Call_SignIn_ForValid_Data() { // Arrange var service = new SignIn_Register_UserServiceMock(); var controller = new UserController(service, null); var model = new RegisterViewModel() { UserName = "******", Password = "******", PasswordAgain = "password", Email = "*****@*****.**" }; // Act var result = controller.Register(model) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["controller"], "Home"); Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.IsTrue(((SignIn_Register_UserServiceMock)controller.UserService).SignInWasCalled); }
public void RegisterPOST_Action_Should_RedisplayOnModelInvalid() { // Arrange var service = new SignIn_Register_UserServiceMock(); var controller = new UserController(service, null); var model = new RegisterViewModel() { UserName = "******", Password = "******", PasswordAgain = "password", Email = "*****@*****.**" }; controller.ModelState.AddModelError("No need to test the Model Binder", "Only Test Controller Logic"); // Act var result = controller.Register(model) as ViewResult; // Assert: Assert.IsNotNull(result); Assert.IsTrue(result.ViewData.ModelState.Count > 0); }
public void RegisterPost_Action_ShouldDisplay_ErrorMessage_ForTaken_Username() { // Arrange var model = new RegisterViewModel() { UserName = "******", Password = "******", PasswordAgain = "password", Email = "*****@*****.**" }; var service = new SignIn_Register_UserServiceMock(); var controller = new UserController(service, null); // Act var result = controller.Register(model) as ViewResult; // Assert Assert.IsNotNull(result, "Expected View as Result"); Assert.IsTrue(result.ViewData.ModelState.Count > 0, "Expecter Erros in Model"); string errorEx = result.ViewData.ModelState[""].Errors[0].ErrorMessage; Assert.AreEqual(errorEx, RegisterResult.GetErrorMessage(RegisterErrorCodes.UsernameAlreadyTaken), "Expecter Correct Error Message"); }