public async Task CanDoCalled() { access.Setup(x => x.CanDo("1", appSettings.ApplicationName, Permission.AddUsers.ToString())).Returns(true); var decorator = new RequirePermissionDecorator <TestCommandWithPermission>(new TestHandlerWithPermission(), access.Object, appSettings); var result = await decorator.Handle(new TestCommandWithPermission()); access.Verify(x => x.CanDo("1", "app", Permission.AddUsers.ToString()), Times.Once); }
public async Task PermissionDenied() { access.Setup(x => x.CanDo("1", appSettings.ApplicationName, Permission.AddUsers.ToString())).Returns(false); var decorator = new RequirePermissionDecorator <TestCommandWithPermission>(new TestHandlerWithPermission(), access.Object, appSettings); var result = await decorator.Handle(new TestCommandWithPermission()); Assert.IsFalse(result.IsSuccess); Assert.AreEqual(CommandError.Forbidden().Code, result.Error.Code); }