public async Task CreateStubForRequestAsync_ExceptionInRequest_ShouldThrowHttPlaceholderClientException()
    {
        // Arrange
        const string correlationId = "95890e55-0be2-4c40-9046-7c7b291693ce";
        var          client        = new HttPlaceholderClient(CreateHttpClient(mock => mock
                                                                               .When(HttpMethod.Post, $"{BaseUrl}ph-api/requests/{correlationId}/stubs")
                                                                               .Respond(HttpStatusCode.BadRequest, "text/plain", "Error occurred!")));

        // Act
        var exception =
            await Assert.ThrowsExceptionAsync <HttPlaceholderClientException>(() =>
                                                                              client.CreateStubForRequestAsync(correlationId));

        // Assert
        Assert.AreEqual("Status code '400' returned by HttPlaceholder with message 'Error occurred!'",
                        exception.Message);
    }
    public async Task CreateStubForRequestAsync_ShouldCreateStub_NoInput()
    {
        // Arrange
        const string correlationId = "95890e55-0be2-4c40-9046-7c7b291693ce";
        var          client        = new HttPlaceholderClient(CreateHttpClient(mock => mock
                                                                               .When(HttpMethod.Post, $"{BaseUrl}ph-api/requests/{correlationId}/stubs")
                                                                               .WithContent("{}")
                                                                               .Respond("application/json", CreateStubResult)));

        // Act
        var result = await client.CreateStubForRequestAsync(correlationId);

        // Assert
        Assert.IsNotNull(result.Stub);
        Assert.IsNotNull(result.Metadata);
        Assert.AreEqual("generated-be3ac75bbea159e0ca1224336ce23aff", result.Stub.Id);
        Assert.AreEqual("GET", result.Stub.Conditions.Method);
    }