GH-2257 - Polishing.

Method order in tests. @SafeVarargs instead of warnings suppression in HalFormsOptions.
This commit is contained in:
Oliver Drotbohm
2024-12-10 20:33:24 +01:00
parent 29aea817f6
commit b19f7de6d3
2 changed files with 42 additions and 39 deletions

View File

@@ -45,7 +45,7 @@ public interface HalFormsOptions {
* @param values must not be {@literal null}.
* @return will never be {@literal null}.
*/
@SuppressWarnings("unchecked")
@SafeVarargs
public static <T> Inline inline(T... values) {
Assert.notNull(values, "Values must not be null!");

View File

@@ -573,44 +573,6 @@ class Jackson2HalFormsIntegrationTest {
.isEqualTo("My Prompt");
}
@Test
// #2257
void rendersFullInlineOptions() {
Inline inline = HalFormsOptions.inline(Map.of("my-prompt-field", "foo","my-value-field", "bar")).withPromptField("my-prompt-field")
.withValueField("my-value-field")
.withMinItems(2L)
.withMaxItems(3L);
DocumentContext result = JsonPath.parse(getCuriedObjectMapper().writeObject(inline));
assertThat(result.read("$.inline[0].my-prompt-field", String.class)).isEqualTo("foo");
assertThat(result.read("$.inline[0].my-value-field", String.class)).isEqualTo("bar");
assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field");
assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field");
assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L);
assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L);
}
@Test
// #2257
void rendersFullRemoteOptions() {
Link link = Link.of("/foo{?bar}").withType(MediaType.APPLICATION_JSON_VALUE);
Remote remote = HalFormsOptions.remote(link)
.withPromptField("my-prompt-field")
.withValueField("my-value-field")
.withMinItems(2L)
.withMaxItems(3L);
DocumentContext result = JsonPath.parse(getCuriedObjectMapper().writeObject(remote));
assertThat(result.read("$.link.href", String.class)).isEqualTo("/foo{?bar}");
assertThat(result.read("$.link.type", String.class)).isEqualTo(MediaType.APPLICATION_JSON_VALUE);
assertThat(result.read("$.link.templated", boolean.class)).isTrue();
assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field");
assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field");
assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L);
assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L);
}
@Test // #1483
void rendersRemoteOptions() {
@@ -625,6 +587,47 @@ class Jackson2HalFormsIntegrationTest {
assertThat(result.read("$.link.templated", boolean.class)).isTrue();
}
@Test // #2257
void rendersFullInlineOptions() {
var options = HalFormsOptions.inline(Map.of("my-prompt-field", "foo", "my-value-field", "bar"))
.withPromptField("my-prompt-field")
.withValueField("my-value-field")
.withMinItems(2L)
.withMaxItems(3L);
var result = JsonPath.parse(getCuriedObjectMapper().writeObject(options));
assertThat(result.read("$.inline[0].my-prompt-field", String.class)).isEqualTo("foo");
assertThat(result.read("$.inline[0].my-value-field", String.class)).isEqualTo("bar");
assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field");
assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field");
assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L);
assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L);
}
@Test // #2257
void rendersFullRemoteOptions() {
var link = Link.of("/foo{?bar}").withType(MediaType.APPLICATION_JSON_VALUE);
var options = HalFormsOptions.remote(link)
.withPromptField("my-prompt-field")
.withValueField("my-value-field")
.withMinItems(2L)
.withMaxItems(3L);
var result = JsonPath.parse(getCuriedObjectMapper().writeObject(options));
assertThat(result.read("$.link.href", String.class)).isEqualTo("/foo{?bar}");
assertThat(result.read("$.link.type", String.class)).isEqualTo(MediaType.APPLICATION_JSON_VALUE);
assertThat(result.read("$.link.templated", boolean.class)).isTrue();
assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field");
assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field");
assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L);
assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L);
}
private void assertThatPathDoesNotExist(Object toMarshall, String path) throws Exception {
String json = getCuriedObjectMapper().writeObject(toMarshall);