public async Task Run_WhenNoQueryWithThatIdExists_ShouldReturnError(
            QueryRunnerWithQueryValidation sut,
            QueryRunnerCommand command)
        {
            sut.QueryReader.Get(command.Id)
            .Returns(null as QueryEntity);

            var result = await sut.Run(command);

            result.Errors.Should()
            .Contain(x => x.Message == QueryErrors.QueryByIdDoesNotExit.Message);
            result.Data.Should().BeNull();
        }
        public async Task Run_WhenQueryExists_ShouldExecuteQueryAndReturnResult(
            QueryRunnerWithQueryValidation sut,
            QueryRunnerCommand command,
            QueryEntity query,
            Result runResult)
        {
            sut.QueryReader.Get(command.Id)
            .Returns(query);

            sut.Runner.Run(command).Returns(runResult);

            var result = await sut.Run(command);

            result.Errors.Should().BeEmpty();
            result.Data.Should().Be(runResult);
        }