public void TestManageReturnsView2() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(1, new[] { "" }); ControllerRecordFakes.FakeUnits(3, UnitRepository); UnitService.Expect(a => a.GetVisibleByUser("appName", "UserName")).Return(UnitRepository.GetAll().AsQueryable()).Repeat.Any(); ControllerRecordFakes.FakeRoles(3, RoleRepository); RoleService.Expect(a => a.GetVisibleByUser("appName", "UserName")).Return(RoleRepository.GetAll().AsQueryable()).Repeat.Any(); ControllerRecordFakes.FakeUsers(3, UserRepository); UserService.Expect(a => a.GetByApplication("appName", "UserName")).Return(UserRepository.Queryable).Repeat.Any(); var application = CreateValidEntities.Application(1); application.Name = "appName"; var permissions = new List <Permission>(); for (int i = 0; i < 4; i++) { permissions.Add(CreateValidEntities.Permission(i + 1)); permissions[i].Application = application; permissions[i].User = UserRepository.Queryable.First(); permissions[i].Role = RoleRepository.GetNullableById(i + 1); } permissions[1].User = UserRepository.GetNullableById(2); permissions[2].User = UserRepository.GetNullableById(3); permissions[3].Role = RoleRepository.GetNullableById(1); ControllerRecordFakes.FakePermissions(0, PermissionRepository, permissions); var unitAssociations = new List <UnitAssociation>(); for (int i = 0; i < 4; i++) { unitAssociations.Add(CreateValidEntities.UnitAssociation(i + 1)); unitAssociations[i].Application = application; unitAssociations[i].User = UserRepository.Queryable.First(); unitAssociations[i].Unit = UnitRepository.GetNullableById(i + 1); } unitAssociations[1].User = UserRepository.GetNullableById(2); unitAssociations[2].User = UserRepository.GetNullableById(3); unitAssociations[3].Unit = UnitRepository.GetNullableById(1); ControllerRecordFakes.FakeUnitAssociations(0, UnitAssociationRepository, unitAssociations); #endregion Arrange #region Act var result = Controller.Manage("appName") .AssertViewRendered() .WithViewData <UserManagementViewModel>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual("appName", result.Application); Assert.AreEqual(3, result.Roles.Count); Assert.AreEqual("Name2", result.Roles[1].Value); Assert.AreEqual(3, result.Units.Count); Assert.AreEqual("ShortName2", result.Units[1].Value); Assert.AreEqual(3, result.UserShowModel.Count); Assert.AreEqual("FirstName2", result.UserShowModel[1].FirstName); Assert.AreEqual("LastName2", result.UserShowModel[1].LastName); Assert.AreEqual("*****@*****.**", result.UserShowModel[1].Email); Assert.AreEqual("LoginId2", result.UserShowModel[1].Login); Assert.AreEqual(null, result.UserShowModel[1].Phone); Assert.AreEqual(2, result.UserShowModel[0].Permissions.Count); Assert.AreEqual("Name1", result.UserShowModel[0].Permissions[1].RoleName); Assert.AreEqual("Name1", result.UserShowModel[0].Permissions[0].RoleName); Assert.AreEqual(2, result.UserShowModel[0].UnitAssociations.Count); Assert.AreEqual("ShortName1", result.UserShowModel[0].UnitAssociations[1].UnitName); Assert.AreEqual("ShortName1", result.UserShowModel[0].UnitAssociations[0].UnitName); Assert.AreEqual(1, result.UserShowModel[1].Permissions.Count); Assert.AreEqual("Name2", result.UserShowModel[1].Permissions[0].RoleName); Assert.AreEqual(1, result.UserShowModel[1].UnitAssociations.Count); Assert.AreEqual("ShortName2", result.UserShowModel[1].UnitAssociations[0].UnitName); Assert.AreEqual(1, result.UserShowModel[2].Permissions.Count); Assert.AreEqual("Name3", result.UserShowModel[2].Permissions[0].RoleName); Assert.AreEqual(1, result.UserShowModel[2].UnitAssociations.Count); Assert.AreEqual("ShortName3", result.UserShowModel[2].UnitAssociations[0].UnitName); #endregion Assert }
/// <summary> /// Gets the valid entity of type T /// </summary> /// <param name="counter">The counter.</param> /// <returns>A valid entity of type T</returns> protected override Application GetValid(int?counter) { return(CreateValidEntities.Application(counter)); }