Stop field snippets requiring a type for missing, optional, ignored field
Missing optional fields require a type to be explicitly provided as it cannot be inferred from the payload. Ignored fields are not included in the documentation, yet, previously, a field that was missing, optional, and ignored would still require a type to be provided otherwise the test would fail. This was pointless as the field wasn't going to appear in the documentation. This commit updates the fields snippets so that a type is no longer required for a field that is missing, optional and ignored. Closes gh-289
This commit is contained in:
@@ -118,6 +118,21 @@ public class RequestFieldsSnippetTests extends AbstractSnippetTests {
|
||||
.request("http://localhost").content("{}").build());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void missingIgnoredOptionalRequestFieldDoesNotRequireAType()
|
||||
throws IOException {
|
||||
this.snippet
|
||||
.expectRequestFields(
|
||||
"missing-ignored-optional-request-field-does-not-require-a-type")
|
||||
.withContents(tableWithHeader("Path", "Type", "Description"));
|
||||
new RequestFieldsSnippet(Arrays
|
||||
.asList(fieldWithPath("a.b").description("one").ignored().optional()))
|
||||
.document(operationBuilder(
|
||||
"missing-ignored-optional-request-field-does-not-require-a-type")
|
||||
.request("http://localhost").content("{}")
|
||||
.build());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void presentOptionalRequestField() throws IOException {
|
||||
this.snippet.expectRequestFields("present-optional-request-field")
|
||||
|
||||
@@ -147,6 +147,20 @@ public class ResponseFieldsSnippetTests extends AbstractSnippetTests {
|
||||
.response().content("{}").build());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void missingIgnoredOptionalResponseFieldDoesNotRequireAType()
|
||||
throws IOException {
|
||||
this.snippet
|
||||
.expectResponseFields(
|
||||
"missing-ignored-optional-response-field-does-not-require-a-type")
|
||||
.withContents(tableWithHeader("Path", "Type", "Description"));
|
||||
new ResponseFieldsSnippet(Arrays
|
||||
.asList(fieldWithPath("a.b").description("one").ignored().optional()))
|
||||
.document(operationBuilder(
|
||||
"missing-ignored-optional-response-field-does-not-require-a-type")
|
||||
.response().content("{}").build());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void presentOptionalResponseField() throws IOException {
|
||||
this.snippet.expectResponseFields("present-optional-response-field")
|
||||
|
||||
Reference in New Issue
Block a user