diff --git a/Directory.Packages.props b/Directory.Packages.props index 73860ab..ae3a8b2 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -5,7 +5,7 @@ - + diff --git a/Source/aweXpect.Mockolate/Web/ItExtensions.HttpContent.IsJsonContent.cs b/Source/aweXpect.Mockolate/Web/ItExtensions.HttpContent.IsJsonContent.cs index c6c9887..f97fb6e 100644 --- a/Source/aweXpect.Mockolate/Web/ItExtensions.HttpContent.IsJsonContent.cs +++ b/Source/aweXpect.Mockolate/Web/ItExtensions.HttpContent.IsJsonContent.cs @@ -90,37 +90,12 @@ public ItExtensions.IHttpContentHeaderParameter WithHeaders( params IEnumerable<(string Name, HttpHeaderValue Value)> headers) => _parameter.WithHeaders(headers); - public ItExtensions.IHttpContentHeaderParameter WithHeaders(string headers) - => _parameter.WithHeaders(headers); - - public ItExtensions.IHttpContentHeaderParameter WithHeaders(string name, HttpHeaderValue value) - => _parameter.WithHeaders(name, value); - public ItExtensions.IHttpContentParameter WithString(Func predicate) => _parameter.WithString(predicate); - public ItExtensions.IStringContentBodyParameter WithString(string expected) - => _parameter.WithString(expected); - - public ItExtensions.IStringContentBodyMatchingParameter WithStringMatching(string pattern) - => _parameter.WithStringMatching(pattern); - - public ItExtensions.IHttpContentParameter WithBytes(byte[] bytes) - => _parameter.WithBytes(bytes); - public ItExtensions.IHttpContentParameter WithBytes(Func predicate) => _parameter.WithBytes(predicate); - public ItExtensions.IFormDataContentParameter WithFormData(string key, HttpFormDataValue value) - => _parameter.WithFormData(key, value); - - public ItExtensions.IFormDataContentParameter WithFormData( - params IEnumerable<(string Key, HttpFormDataValue Value)> values) - => _parameter.WithFormData(values); - - public ItExtensions.IFormDataContentParameter WithFormData(string values) - => _parameter.WithFormData(values); - public ItExtensions.IHttpContentParameter WithMediaType(string? mediaType) => _parameter.WithMediaType(mediaType); diff --git a/Tests/aweXpect.Mockolate.Tests/Web/ItExtensionsTests.HttpContentTests.IsJsonContentTests.cs b/Tests/aweXpect.Mockolate.Tests/Web/ItExtensionsTests.HttpContentTests.IsJsonContentTests.cs index 6ab7ed6..e817983 100644 --- a/Tests/aweXpect.Mockolate.Tests/Web/ItExtensionsTests.HttpContentTests.IsJsonContentTests.cs +++ b/Tests/aweXpect.Mockolate.Tests/Web/ItExtensionsTests.HttpContentTests.IsJsonContentTests.cs @@ -116,6 +116,22 @@ public async Task ShouldSupportNestedObjects() await That(result.StatusCode) .IsEqualTo(HttpStatusCode.OK); + await That(httpClient.VerifyMock.Invoked + .PostAsync(It.IsAny(), It.IsHttpContent().WithJsonMatching([ + new + { + foo = 2, + }, + new + { + foo = 3, + }, + new + { + foo = 4, + }, + ]))) + .Once(); } [Theory] @@ -179,6 +195,13 @@ public async Task WithBodyMatching_ShouldCompareAsJson() await That(result.StatusCode) .IsEqualTo(HttpStatusCode.OK); + await That(httpClient.VerifyMock.Invoked + .PostAsync(It.IsAny(), It.IsHttpContent().WithJsonMatching(new + { + foo = 1, + bar = 2, + }))) + .Once(); } [Theory] @@ -250,6 +273,9 @@ public async Task MatchingValues_ShouldSucceed(string[] expected, string body) await That(result.StatusCode) .IsEqualTo(HttpStatusCode.OK); + await That(httpClient.VerifyMock.Invoked + .PostAsync(It.IsAny(), It.IsHttpContent().WithJsonMatching(expected))) + .Once(); } [Theory] @@ -318,6 +344,9 @@ public async Task WhenSubjectContainsAdditionalElements_ShouldSucceed() await That(result.StatusCode) .IsEqualTo(HttpStatusCode.OK); + await That(httpClient.VerifyMock.Invoked + .PostAsync(It.IsAny(), It.IsHttpContent().WithJsonMatching([1, 2,]))) + .Once(); } [Fact] @@ -434,6 +463,9 @@ public async Task WhenExpectedIsEmpty_ShouldSucceed(string body) await That(result.StatusCode) .IsEqualTo(HttpStatusCode.OK); + await That(httpClient.VerifyMock.Invoked + .PostAsync(It.IsAny(), It.IsHttpContent().WithJsonMatching(new object()))) + .Once(); } [Fact] @@ -474,6 +506,12 @@ public async Task WhenSubjectHasAdditionalProperties_ShouldSucceed() await That(result.StatusCode) .IsEqualTo(HttpStatusCode.OK); + await That(httpClient.VerifyMock.Invoked + .PostAsync(It.IsAny(), It.IsHttpContent().WithJsonMatching(new + { + bar = 2, + }))) + .Once(); } [Fact]