コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }