public void VerifyThatExceptionIsThrownWhenSetAccessRightIsNotValid()
        {
            var participantPermission =
                new ParticipantPermission(Guid.NewGuid(), 1)
            {
                ObjectClass = ClassKind.DiagramCanvas,
                AccessRight = ParticipantAccessRightKind.MODIFY_IF_OWNER
            };

            this.sideEffect =
                new ParticipantPermissionSideEffect()
            {
                AccessRightKindValidationService =
                    this.denyingAccessRightKindValidationService.Object
            };

            Assert.Throws <InvalidOperationException>(
                () => this.sideEffect.BeforeCreate(
                    participantPermission,
                    null,
                    this.npgsqlTransaction,
                    "partition",
                    this.securityContext.Object));

            Assert.Throws <InvalidOperationException>(
                () => this.sideEffect.AfterUpdate(
                    participantPermission,
                    null,
                    null,
                    this.npgsqlTransaction,
                    "partition",
                    this.securityContext.Object));
        }
        public void VerifyThatSideEffectPassedWhenSetAccessRightIsValid()
        {
            var participantPermission =
                new ParticipantPermission(Guid.NewGuid(), 1)
            {
                ObjectClass = ClassKind.Book,
                AccessRight = ParticipantAccessRightKind.MODIFY_IF_OWNER
            };

            this.sideEffect =
                new ParticipantPermissionSideEffect()
            {
                AccessRightKindValidationService =
                    this.permissiveAccessRightKindValidationService.Object
            };
            this.sideEffect.BeforeCreate(
                participantPermission,
                null,
                this.npgsqlTransaction,
                "partition",
                this.securityContext.Object);

            this.sideEffect.AfterUpdate(
                participantPermission,
                null,
                null,
                this.npgsqlTransaction,
                "partition",
                this.securityContext.Object);

            this.permissiveAccessRightKindValidationService.Verify(
                x => x.IsParticipantPermissionValid(It.IsAny <ParticipantPermission>()),
                Times.Exactly(2));
        }