public async override Task <string> Handle(DeleteInstructionCommand request, CancellationToken cancellationToken)
        {
            Entity = repo.Find(request.ID);

            if (Entity == null)
            {
                throw new InvalidOperationException($"Can't Find Id {request.ID} For Delete");
            }

            Result = repo.Delete(Entity);

            return(Result);
        }
        public void ShouldContainNoErrors()
        {
            // Arrange
            var id      = Guid.NewGuid();
            var version = 0;

            var command = new DeleteInstructionCommand(id, version);

            // Act
            var validationResult = _validator.Validate(command);
            var exists           = validationResult.Errors.Count > 0;

            // Assert
            exists.Should().BeFalse();
        }
        public void ShouldHaveInstructionNotFoundCustomFailureWhenIdIsGuidEmpty()
        {
            // Arrange
            var id      = Guid.Empty;
            var version = 0;

            var command = new DeleteInstructionCommand(id, version);

            // Act
            var validationResult = _validator.Validate(command);
            var exists           =
                validationResult.Errors.Any(
                    a => a.PropertyName.Equals("Id") && a.ErrorMessage.Contains(CustomFailures.InstructionNotFound));

            // Assert
            exists.Should().BeTrue();
        }