public void CheckPermission2() { using (UnitOfWork unitwork = new UnitOfWork(store, dbContextFactory)) { IRepository<Permission, Guid> perRepository = new Repository<Permission, Guid>(store); PermissionService service = new PermissionService(perRepository); IRepository<Employee, Guid> empRepository = new Repository<Employee, Guid>(store); IRepository<Entity, Guid> entRepository = new Repository<Entity, Guid>(store); //人資部門可以看見Admin var operations = service.GetOperationFor(empRepository.Query(s => s.Name == "Fred").First() , entRepository.Query(q => q.Name == "Employees").First()); Assert.AreEqual(1, operations.Count); Assert.AreEqual("View", operations.First().Comment); //業務部門看不見 var operation2s = service.GetOperationFor(empRepository.Query(s => s.Name == "Kalad").First() , entRepository.Query(q => q.Name == "Employees").First()); Assert.AreEqual(0, operation2s.Count); //老板通常是有超多權限,但只留較上層的權限 var operation3s = service.GetOperationFor(empRepository.Query(s => s.Name == "Allen").First() , entRepository.Query(q => q.Name == "Employees").First()); Assert.AreEqual(1, operation3s.Count); } }
public void CheckPermission1() { using (UnitOfWork unitwork = new UnitOfWork(store, dbContextFactory)) { IRepository<Permission, Guid> perRepository = new Repository<Permission, Guid>(store); PermissionService service = new PermissionService(perRepository); IRepository<Employee, Guid> empRepository = new Repository<Employee, Guid>(store); IRepository<Entity,Guid> entRepository = new Repository<Entity,Guid>(store); var operations = service.GetOperationFor(empRepository.Query(s => s.Name == "Allen").First() , entRepository.Query(q => q.Name == "Personal Information").First()); Assert.AreEqual(1, operations.Count); Assert.AreEqual("Full Control", operations.First().Comment); } }
public void CheckPermission9() { using (UnitOfWork unitwork = new UnitOfWork(store, dbContextFactory)) { IRepository<Permission, Guid> perRepository = new Repository<Permission, Guid>(store); PermissionService service = new PermissionService(perRepository); IRepository<Organization, Guid> orgRepository = new Repository<Organization, Guid>(store); IRepository<Entity, Guid> entRepository = new Repository<Entity, Guid>(store); var operations = service.GetOperationFor(orgRepository.Query(s => s.Name == "企畫課").First() , entRepository.Query(q => q.Name == "Employees").First()); Assert.AreEqual(1, operations.Count); Assert.AreEqual("View", operations.First().Comment); } }
public void CheckPermission7() { using (UnitOfWork unitwork = new UnitOfWork(store, dbContextFactory)) { IRepository<Permission, Guid> perRepository = new Repository<Permission, Guid>(store); PermissionService service = new PermissionService(perRepository); IRepository<Post, Guid> postRepository = new Repository<Post, Guid>(store); IRepository<Entity, Guid> entRepository = new Repository<Entity, Guid>(store); var operations = service.GetOperationFor(postRepository.Query(s => s.Name == "管理課副主管").First() , entRepository.Query(q => q.Name == "員工請假報表").First()); Assert.AreEqual(1, operations.Count); Assert.AreEqual("Full Control", operations.First().Comment); } }