Exemplo n.º 1
0
        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
        }
Exemplo n.º 3
0
        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));
 }