public void Edit_ReturnsNotEmptyView() { service.GetView(role.Id).Returns(role); Object expected = NotEmptyView(controller, role); Object actual = controller.Edit(role.Id); Assert.Same(expected, actual); }
public void CanInitEdit() { // Establish Context var viewModel = new RoleFormViewModel(); _roleManagementService.Expect(r => r.CreateFormViewModelFor(1)) .Return(viewModel); // Act ViewResult result = _rolesController.Edit(1).AssertViewRendered(); // Assert result.ViewData.Model.ShouldNotBeNull(); (result.ViewData.Model as RoleFormViewModel).ShouldNotBeNull(); }
public async Task EditExistingRole() { var role = new Assessment.Models.Role { Name = "Test", Id = Guid.NewGuid().ToString(), }; var expectedRoleCount = applicationDbContext.Roles.Count() + 1; var actualRoleCount = -1; await controller.Create(role); role.Name = "Updated Test"; var view = await controller.Edit(role.Id, role); var result = view as RedirectToActionResult; var updatedRole = await applicationDbContext.Roles .AsNoTracking() .Where(x => x.Id == role.Id) .FirstOrDefaultAsync(); actualRoleCount = applicationDbContext.Roles.Count(); Assert.IsNotNull(result); Assert.AreEqual(role.Name, updatedRole.Name); Assert.AreEqual(expectedRoleCount, actualRoleCount); }
public void Cannot_Save_Invalid_Changes() { //布置——创建模仿存储库 Mock <IRoleInfoRepository> mock = new Mock <IRoleInfoRepository>(); //布置——创建控制器 RolesController controller = new RolesController(mock.Object); //布置——创建一个产品 RoleInfo role = new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "测试顾问" }; //布置——把一个错误添加到模型状态 controller.ModelState.AddModelError("error", "error"); //动作——试着保存这个产品 ActionResult result = controller.Edit(role); //断言——检查,调用了存储库 mock.Verify(m => m.SaveRoleInfo(It.IsAny <RoleInfo>()), Times.Never()); //断言——检查方法的结果类型 Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public void Cannot_Edit_Nonexistent_Product() { //布置 //——创建模仿存储库 RoleInfo[] roles = new RoleInfo[] { new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R1", RoleEN = "REN1" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R2", RoleEN = "REN2" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R3", RoleEN = "REN3" } }; Mock <IRoleInfoRepository> mock = new Mock <IRoleInfoRepository>(); mock.Setup(m => m.RolesInfo).Returns(roles.AsQueryable()); //布置——创建控制器 RolesController controller = new RolesController(mock.Object); //动作 RoleInfo r1 = controller.Edit(Guid.NewGuid()).Model as RoleInfo; //断言 Assert.IsNull(r1); }
public void Can_Edit_Role() { //布置 //——创建模仿存储库 RoleInfo[] roles = new RoleInfo[] { new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R1", RoleEN = "REN1" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R2", RoleEN = "REN2" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R3", RoleEN = "REN3" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R4", RoleEN = "REN4" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R5", RoleEN = "REN5" }, new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "R6", RoleEN = "REN6" } }; Mock <IRoleInfoRepository> mock = new Mock <IRoleInfoRepository>(); mock.Setup(m => m.RolesInfo).Returns(roles.AsQueryable()); //使用Setup更改RolesInfo的结果,不适用DI,而是用后续的Return返回结果 //布置——创建控制器 RolesController controller = new RolesController(mock.Object); //动作 RoleInfo r1 = controller.Edit(roles[1].RoleID).Model as RoleInfo; RoleInfo r2 = controller.Edit(roles[2].RoleID).Model as RoleInfo; RoleInfo r3 = controller.Edit(roles[3].RoleID).Model as RoleInfo; //断言 Assert.AreEqual(r1.RoleName, "R2"); Assert.AreEqual(r2.RoleName, "R3"); Assert.AreEqual(r3.RoleName, "R4"); }
public async void EditPostNullUserTest() { var umMock = GetUserManagerMock(); var rmMock = GetRoleManagerMock(); var rolesController = new RolesController(rmMock.Object, umMock.Object); User usr = null; umMock.Setup(item => item.FindByIdAsync(It.IsAny <string>())) .ReturnsAsync(usr); var result = await rolesController.Edit("invaliId", RolesList); Assert.IsType <NotFoundResult>(result); }
public void Edit_OnModelNotFoundRedirectsToNotFound() { controller.When(sub => sub.RedirectToNotFound()).DoNotCallBase(); controller.RedirectToNotFound().Returns(new RedirectToRouteResult(new RouteValueDictionary())); ActionResult expected = controller.RedirectToNotFound(); ActionResult actual = controller.Edit(""); Assert.Same(expected, actual); }
public void Edit_OnNotFoundModelRedirectsToNotFound() { service.GetView(String.Empty).Returns((RoleView)null); controller.When(sub => sub.RedirectToNotFound()).DoNotCallBase(); controller.RedirectToNotFound().Returns(new RedirectToRouteResult(new RouteValueDictionary())); ActionResult expected = controller.RedirectToNotFound(); ActionResult actual = controller.Edit(String.Empty); Assert.AreSame(expected, actual); }
public async void EditPostTest() { var umMock = GetUserManagerMock(); var rmMock = GetRoleManagerMock(); var rolesController = new RolesController(rmMock.Object, umMock.Object); umMock.Setup(item => item.FindByIdAsync(It.IsAny <string>())) .ReturnsAsync(TestObjects.User1); umMock.Setup(item => item.GetRolesAsync(It.IsAny <User>())) .ReturnsAsync(RolesList); rmMock.Setup(item => item.Roles) .Returns(TestRoles.AsQueryable()); var result = await rolesController.Edit("invaliId", RolesList); Assert.IsAssignableFrom <RedirectToActionResult>(result); }
public async Task Edit_RedirectToUserList() { // Arrange List <string> listOfRoles = new List <string> { }; UserData userData = new UserData { Id = "1" }; _userManagerMock.Setup(m => m.FindByIdAsync("name")).ReturnsAsync(userData); _userManagerMock.Setup(m => m.GetRolesAsync(userData)).ReturnsAsync(listOfRoles); RolesController contr = new RolesController(_roleManagerMock.Object, _userManagerMock.Object); // Act var result = await contr.Edit("name", listOfRoles); // Assert Assert.AreEqual("UserList", (result as RedirectToActionResult).ActionName); }
public void Can_Save_Valid_Changes() { //布置——创建模仿存储库 Mock <IRoleInfoRepository> mock = new Mock <IRoleInfoRepository>(); //布置——创建控制器 RolesController controller = new RolesController(mock.Object); //布置——创建一个产品 RoleInfo role = new RoleInfo { RoleID = Guid.NewGuid(), RoleName = "测试顾问" }; //动作——试着保存这个产品 ActionResult result = controller.Edit(role); //断言——检查,调用了存储库 mock.Verify(m => m.SaveRoleInfo(role)); //断言——检查方法的结果类型 Assert.IsNotInstanceOfType(result, typeof(ViewResult)); }
public async void EditTest() { var umMock = GetUserManagerMock(); var rmMock = GetRoleManagerMock(); var rolesController = new RolesController(rmMock.Object, umMock.Object); umMock.Setup(item => item.FindByIdAsync(It.IsAny <string>())) .ReturnsAsync(TestObjects.User1); umMock.Setup(item => item.GetRolesAsync(It.IsAny <User>())) .ReturnsAsync(RolesList); rmMock.Setup(item => item.Roles) .Returns(TestRoles.AsQueryable()); ChangeRoleViewModel mdl = new ChangeRoleViewModel(); var result = await rolesController.Edit("1"); Assert.NotNull(result); Assert.IsAssignableFrom <ViewResult>(result); var expected = mdl.ToString(); var actual = rolesController.ViewData.Model.ToString(); Assert.Equal(expected, actual); }