|
28 | 28 | import java.util.Collections;
|
29 | 29 | import java.util.List;
|
30 | 30 | import java.util.Locale;
|
| 31 | +import java.util.Map; |
31 | 32 | import java.util.function.Consumer;
|
32 | 33 |
|
33 | 34 | import org.junit.jupiter.api.BeforeEach;
|
|
83 | 84 | /**
|
84 | 85 | * @author Greg Turnquist
|
85 | 86 | * @author Oliver Drotbohm
|
| 87 | + * @author Réda Housni Alaoui |
86 | 88 | */
|
87 | 89 | class Jackson2HalFormsIntegrationTest {
|
88 | 90 |
|
@@ -571,6 +573,44 @@ void rendersPromptedOptionsValues() throws Exception {
|
571 | 573 | .isEqualTo("My Prompt");
|
572 | 574 | }
|
573 | 575 |
|
| 576 | + @Test |
| 577 | + // #2257 |
| 578 | + void rendersFullInlineOptions() { |
| 579 | + Inline inline = HalFormsOptions.inline(Map.of("my-prompt-field", "foo","my-value-field", "bar")).withPromptField("my-prompt-field") |
| 580 | + .withValueField("my-value-field") |
| 581 | + .withMinItems(2L) |
| 582 | + .withMaxItems(3L); |
| 583 | + |
| 584 | + DocumentContext result = JsonPath.parse(getCuriedObjectMapper().writeObject(inline)); |
| 585 | + assertThat(result.read("$.inline[0].my-prompt-field", String.class)).isEqualTo("foo"); |
| 586 | + assertThat(result.read("$.inline[0].my-value-field", String.class)).isEqualTo("bar"); |
| 587 | + assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field"); |
| 588 | + assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field"); |
| 589 | + assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L); |
| 590 | + assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L); |
| 591 | + } |
| 592 | + |
| 593 | + @Test |
| 594 | + // #2257 |
| 595 | + void rendersFullRemoteOptions() { |
| 596 | + Link link = Link.of("/foo{?bar}").withType(MediaType.APPLICATION_JSON_VALUE); |
| 597 | + |
| 598 | + Remote remote = HalFormsOptions.remote(link) |
| 599 | + .withPromptField("my-prompt-field") |
| 600 | + .withValueField("my-value-field") |
| 601 | + .withMinItems(2L) |
| 602 | + .withMaxItems(3L); |
| 603 | + |
| 604 | + DocumentContext result = JsonPath.parse(getCuriedObjectMapper().writeObject(remote)); |
| 605 | + assertThat(result.read("$.link.href", String.class)).isEqualTo("/foo{?bar}"); |
| 606 | + assertThat(result.read("$.link.type", String.class)).isEqualTo(MediaType.APPLICATION_JSON_VALUE); |
| 607 | + assertThat(result.read("$.link.templated", boolean.class)).isTrue(); |
| 608 | + assertThat(result.read("$.promptField", String.class)).isEqualTo("my-prompt-field"); |
| 609 | + assertThat(result.read("$.valueField", String.class)).isEqualTo("my-value-field"); |
| 610 | + assertThat(result.read("$.minItems", Long.class)).isEqualTo(2L); |
| 611 | + assertThat(result.read("$.maxItems", Long.class)).isEqualTo(3L); |
| 612 | + } |
| 613 | + |
574 | 614 | @Test // #1483
|
575 | 615 | void rendersRemoteOptions() {
|
576 | 616 |
|
|
0 commit comments