public void HomeControllerEditProfilePOST() { const bool ISAJAX = true; var info = new UserViewModel() { Email = "Admin", Password = "******", Address = "Address", Phone = 999, Name = "AdminName2" }; var factory = new WorkChannelFactoryMock(); HomeController ctrl = new HomeController(factory); FakeControllerSession.SetFakeControllerContext(ctrl, ISAJAX); //Redirect if not logged // TODO - maybe we need to remove this ctrl.Session["LoggedIn"] = false; var res1 = ctrl.EditProfile(info) as RedirectToRouteResult; Assert.IsNotNull(res1); Assert.AreEqual(res1.RouteValues["action"], "Login"); Assert.AreEqual(res1.RouteValues["controller"], "Account"); //Pass if everything ok ctrl.Session["LoggedIn"] = true; var res2 = ctrl.EditProfile(info) as RedirectToRouteResult; Assert.IsNotNull(res2); Assert.AreEqual(res2.RouteValues["action"], "Index"); var upd = factory.LastWorkChannel.UsersUpdated; Assert.AreEqual(upd.Count, 1); Assert.AreEqual(upd[0].Name, ((UserDTO)ctrl.Session["User"]).Name); Assert.AreEqual(upd[0].Name, "AdminName2"); //Fault when wrong user ((UserDTO)ctrl.Session["User"]).Email = "Unknown"; var res3 = ctrl.EditProfile(info) as ViewResult; Assert.IsNotNull(res3); Assert.AreEqual(res3.Model, "wrong user or password"); }
public void HomeControllerEditProfileGET() { const bool ISAJAX = false; var factory = new WorkChannelFactoryMock(); HomeController ctrl = new HomeController(factory); FakeControllerSession.SetFakeControllerContext(ctrl, ISAJAX); //Redirect if not logged ctrl.Session["LoggedIn"] = false; var res1 = ctrl.EditProfile() as RedirectToRouteResult; Assert.IsNotNull(res1); Assert.AreEqual(res1.RouteValues["action"], "Login"); Assert.AreEqual(res1.RouteValues["controller"], "Account"); //Pass if everything ok ctrl.Session["LoggedIn"] = true; ctrl.EditProfile(); var res2 = ctrl.EditProfile() as ViewResult; Assert.IsNotNull(res2); Assert.IsNotNull(res2.Model); var user = res2.Model as UserViewModel; Assert.IsNotNull(user); Assert.AreEqual(user.Email, "Admin"); }