public void TestApplicationCascadesAddToApplicationRoles() { #region Arrange RoleRepository.DbContext.BeginTransaction(); LoadRoles(3); RoleRepository.DbContext.CommitTransaction(); var applicationRoleCount = ApplicationRoleRepository.Queryable.Count(); var application = GetValid(9); application.ApplicationRoles.Add(CreateValidEntities.ApplicationRole(1)); application.ApplicationRoles.Add(CreateValidEntities.ApplicationRole(2)); application.ApplicationRoles.Add(CreateValidEntities.ApplicationRole(3)); application.ApplicationRoles[0].Role = RoleRepository.GetById(1); application.ApplicationRoles[1].Role = RoleRepository.GetById(2); application.ApplicationRoles[2].Role = RoleRepository.GetById(3); #endregion Arrange #region Act ApplicationRepository.DbContext.BeginTransaction(); ApplicationRepository.EnsurePersistent(application); ApplicationRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsNotNull(application.ApplicationRoles); Assert.AreEqual(3, application.ApplicationRoles.Count); Assert.IsFalse(application.IsTransient()); Assert.IsTrue(application.IsValid()); Assert.AreEqual(applicationRoleCount + 3, ApplicationRoleRepository.Queryable.Count()); #endregion Assert }
public void TestRoleServiceGetVisibleByUserReturnsExpectedResults4() { #region Arrange var applicationRoleRepository = FakeRepository <ApplicationRole>(); RoleService = new RoleService(PermissionRepository, applicationRoleRepository); ControllerRecordFakes.FakeApplications(3, ApplicationRepository); ControllerRecordFakes.FakeUsers(3, UserRepository); ControllerRecordFakes.FakeRoles(10, RoleRepository); var permissions = new List <Permission>(); for (int i = 0; i < 10; i++) { permissions.Add(CreateValidEntities.Permission(i + 1)); permissions[i].Application = ApplicationRepository.Queryable.First(); permissions[i].User = UserRepository.GetNullableById(3); permissions[i].Role = RoleRepository.GetNullableById(i + 1); } permissions[4].User = UserRepository.GetNullableById(2); ControllerRecordFakes.FakePermissions(0, PermissionRepository, permissions); var applicationRoles = new List <ApplicationRole>(); for (int i = 0; i < 10; i++) { applicationRoles.Add(CreateValidEntities.ApplicationRole(i + 1)); applicationRoles[i].Role = RoleRepository.GetNullableById(i + 1); applicationRoles[i].Application = ApplicationRepository.GetNullableById(1); } ControllerRecordFakes.FakeApplicationRoles(0, applicationRoleRepository, applicationRoles); #endregion Arrange #region Act //var manageableRoles = from ar in applicationRoleRepository.Queryable // where ar.Application.Name == "Name1" && // ar.Level > ( // (from p in PermissionRepository.Queryable // join a in applicationRoleRepository.Queryable on // new { Role = p.Role.Id, App = p.Application.Id } // equals new { Role = a.Role.Id, App = a.Application.Id } // where p.Application.Name == "Name1" && // p.User.LoginId == "LoginId2" && // a.Level != null // select a.Level).Max() // ) // select ar.Role; var result = RoleService.GetVisibleByUser("Name1", "LoginId2"); #endregion Act #region Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(IQueryable <Role>)); Assert.AreEqual(6, result.Count()); for (int i = 1; i < 6; i++) { Assert.AreEqual(string.Format("Name{0}", (i + 4)), result.ElementAt(i).Name); } #endregion Assert }
public void TestApplicationWithOneApplicationRolesSaves() { #region Arrange var application = GetValid(9); application.ApplicationRoles.Add(CreateValidEntities.ApplicationRole(1)); #endregion Arrange #region Act ApplicationRepository.DbContext.BeginTransaction(); ApplicationRepository.EnsurePersistent(application); ApplicationRepository.DbContext.CommitTransaction(); #endregion Act #region Assert Assert.IsNotNull(application.ApplicationRoles); Assert.AreEqual(1, application.ApplicationRoles.Count); Assert.IsFalse(application.IsTransient()); Assert.IsTrue(application.IsValid()); #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 ApplicationRole GetValid(int?counter) { return(CreateValidEntities.ApplicationRole(counter)); }