public void Should_return_true_when_group_has_read_permission_and_requested_is_read() { // Given var employeeGroupId = 1; var unitOfWork = new Mock <IUnitOfWork>(); var permissions = new PermissionListBuilder().WithReadPermission().Build(); var repo = new Mock <IRepository <EmployeeGroup> >(); repo.Setup(r => r.All).Returns((new[] { new EmployeeGroup { Id = employeeGroupId, Permissions = permissions } }).AsQueryable()); unitOfWork.Setup(u => u.EmployeeGroups).Returns(repo.Object); var queryHandler = new HasEmployeeGroupPermissionQueryHandler(unitOfWork.Object); // When var query = new HasEmployeeGroupPermissionQuery(1, "vacancy_read"); var hasPermission = queryHandler.Handle(query); // Then Assert.AreEqual(true, hasPermission); }
public void Should_return_false_when_the_group_is_different_but_the_right_is_the_same() { // Given var employeeGroupId = 1; var unitOfWork = new Mock <IUnitOfWork>(); var permissions = new PermissionListBuilder().WithReadPermission().Build(); var repo = new Mock <IRepository <EmployeeGroup> >(); repo.Setup(r => r.All).Returns((new[] { new EmployeeGroup { Id = employeeGroupId, Permissions = permissions } }).AsQueryable()); unitOfWork.Setup(u => u.EmployeeGroups).Returns(repo.Object); var queryHandler = new HasEmployeeGroupPermissionQueryHandler(unitOfWork.Object); // When var query = new HasEmployeeGroupPermissionQuery(1, "employee_read"); var hasPermission = queryHandler.Handle(query); // Then Assert.AreEqual(false, hasPermission); }