X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FHtmlControllerTest.java;fp=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fdemo%2FHtmlControllerTest.java;h=ceb14e486787409e442de9b046291b5de1b837e7;hb=a59fd998f3909a11dcf0d5fe000174496628cb99;hp=0000000000000000000000000000000000000000;hpb=117fc8a5acf5d25f6698ac38b0ed64dcd3c6ce3e;p=demos%2Ftesting diff --git a/src/test/java/de/juplo/demo/HtmlControllerTest.java b/src/test/java/de/juplo/demo/HtmlControllerTest.java new file mode 100644 index 0000000..ceb14e4 --- /dev/null +++ b/src/test/java/de/juplo/demo/HtmlControllerTest.java @@ -0,0 +1,59 @@ +package de.juplo.demo; + + +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.ArgumentCaptor; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.ui.Model; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + + +/** + * Unit-Test for class {@link RemoteContentHtmlController}. + * @author Kai Moritz + */ +@ExtendWith(SpringExtension.class) +public class HtmlControllerTest +{ + HtmlController controller; + + @MockBean + RemoteContentService service; + @MockBean + Model model; + + + @BeforeEach + void setUp() + { + controller = new HtmlController(service); + } + + + @Test + @DisplayName("Data successfully fetched from remote-server") + void testOK() + { + when(service.getRemoteText("foo")).thenReturn(Mono.just("bar")); + + String result = controller.fetch(model, "foo"); + + assertThat(result).isEqualTo("layout"); + ArgumentCaptor> captor = ArgumentCaptor.forClass(Mono.class); + verify(model).addAttribute(eq("text"), captor.capture()); + StepVerifier + .create(captor.getValue()) + .expectNext("bar") + .expectComplete() + .verify(); + } +}