From 308817e4e05f316ea8201d7cf5990fddf7d46c4c Mon Sep 17 00:00:00 2001 From: grofoli Date: Fri, 15 Mar 2019 16:45:16 +0100 Subject: [PATCH] [ESQUE-19] Added rudimentary FX test --- pom.xml | 8 ++++ .../kafka/dialog/TraceInputDialogTest.java | 38 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/test/java/at/esque/kafka/dialog/TraceInputDialogTest.java diff --git a/pom.xml b/pom.xml index 48cf20c..90b5950 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,14 @@ 1.1 test + + + org.testfx + testfx-junit + 4.0.15-alpha + test + + diff --git a/src/test/java/at/esque/kafka/dialog/TraceInputDialogTest.java b/src/test/java/at/esque/kafka/dialog/TraceInputDialogTest.java new file mode 100644 index 0000000..e41c8c7 --- /dev/null +++ b/src/test/java/at/esque/kafka/dialog/TraceInputDialogTest.java @@ -0,0 +1,38 @@ +package at.esque.kafka.dialog; + +import at.esque.kafka.dialogs.TraceInputDialog; +import javafx.scene.control.Button; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; +import org.junit.Before; +import org.junit.Test; +import org.testfx.api.FxToolkit; +import org.testfx.framework.junit.ApplicationTest; + +import java.util.concurrent.TimeoutException; + +import static org.testfx.assertions.api.Assertions.assertThat; + +public class TraceInputDialogTest extends ApplicationTest { + + @Before + public void setup() throws TimeoutException { + FxToolkit.setupSceneRoot(() -> { + Button openDialogButton = new Button("Open Dialog"); + openDialogButton.setId("openDialog"); + openDialogButton.setOnAction(event -> { + TraceInputDialog.show(true, false); + }); + StackPane root = new StackPane(openDialogButton); + root.setPrefSize(800, 500); + return new StackPane(root); + }); + FxToolkit.setupStage(Stage::show); + } + + @Test + public void shouldContainFastTraceForNonAvroKey(){ + clickOn("#openDialog"); + assertThat(targetWindow("Trace Key").lookup(".label").nth(2).queryLabeled().getText()).contains("fast trace"); + } +}