diff options
| author | Dominic Rogetzer <e1627756@student.tuwien.ac.at> | 2018-06-05 12:15:09 +0200 | 
|---|---|---|
| committer | Tharre <tharre3@gmail.com> | 2018-06-11 18:14:24 +0200 | 
| commit | 31f3d6dd0efdbff5960dc4193bb08566bcb79d1a (patch) | |
| tree | 64cf37cc1c238ae6d322df88a56a3ebe4c151669 /src/test/java/at/ac/tuwien | |
| parent | 875de2750b4fa6065eb41aeb6323e8a29ec416ad (diff) | |
| download | sepm-groupproject-31f3d6dd0efdbff5960dc4193bb08566bcb79d1a.tar.gz sepm-groupproject-31f3d6dd0efdbff5960dc4193bb08566bcb79d1a.tar.xz sepm-groupproject-31f3d6dd0efdbff5960dc4193bb08566bcb79d1a.zip  | |
Remove duplicate code by creating a general GuiTestApplication [#27302]
Extract code from CreateNewEmployeeApplication, CreateNewVehicleApplication and RegistrationWindowApplication into GuiTestApplication, which allows to specify a fxml file name in launch-arguments. Adjust ControllerTest-classes
Diffstat (limited to 'src/test/java/at/ac/tuwien')
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java | 5 | ||||
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java | 51 | ||||
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java | 5 | ||||
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/GuiTestApplication.java (renamed from src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java) | 28 | ||||
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationControllerTest.java | 22 | ||||
| -rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java | 53 | 
6 files changed, 50 insertions, 114 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java index 7f95950..ea09fb7 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeControllerTest.java @@ -24,10 +24,9 @@ public class CreateNewEmployeeControllerTest extends HighDpiAwareApplicationTest      @Before      public void setup() throws Exception { -        // TODO: check if testfx can be run in headless mode on Jenkins          FxToolkit.registerPrimaryStage(); -        FxToolkit.setupApplication(CreateNewEmployeeApplication.class); -        employeeService = CreateNewEmployeeApplication.context.getBean(EmployeeService.class); +        FxToolkit.setupApplication(GuiTestApplication.class, "createNewEmployee.fxml"); +        employeeService = GuiTestApplication.context.getBean(EmployeeService.class);      }      @After diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java deleted file mode 100644 index ff46938..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleApplication.java +++ /dev/null @@ -1,51 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller; - -import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; -import java.lang.invoke.MethodHandles; -import javafx.application.Application; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.stage.Stage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.stereotype.Component; - -@Component -@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase") -public class CreateNewVehicleApplication extends Application { - -    private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - -    public static AnnotationConfigApplicationContext context; - -    @Override -    public void start(Stage primaryStage) throws Exception { -        // setup application -        primaryStage.setTitle("Fahrzeug anlegen"); -        primaryStage.setWidth(1366); -        primaryStage.setHeight(768); -        primaryStage.centerOnScreen(); -        primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated")); - -        context = new AnnotationConfigApplicationContext(CreateNewVehicleApplication.class); -        final var fxmlLoader = context.getBean(SpringFXMLLoader.class); -        primaryStage.setScene( -                new Scene( -                        (Parent) -                                fxmlLoader.load( -                                        getClass().getResourceAsStream("/fxml/createCar.fxml")))); - -        // show application -        primaryStage.show(); -        primaryStage.toFront(); -        LOG.debug("Application startup complete"); -    } - -    @Override -    public void stop() { -        LOG.debug("Stopping application"); -        context.close(); -    } -} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java index 08e3fde..a9fbcf0 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewVehicleControllerTest.java @@ -24,10 +24,9 @@ public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest      @Before      public void setup() throws Exception { -        // TODO: check if testfx can be run in headless mode on Jenkins          FxToolkit.registerPrimaryStage(); -        FxToolkit.setupApplication(CreateNewVehicleApplication.class); -        vehicleService = CreateNewVehicleApplication.context.getBean(VehicleService.class); +        FxToolkit.setupApplication(GuiTestApplication.class, "createCar.fxml"); +        vehicleService = GuiTestApplication.context.getBean(VehicleService.class);      }      @After diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/GuiTestApplication.java index e1b3714..6cb91c9 100644 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/CreateNewEmployeeApplication.java +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/GuiTestApplication.java @@ -1,5 +1,15 @@  package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller; +import static org.mockito.Mockito.mock; + +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeService; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.EmployeeServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.RegistrationService; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.RegistrationServiceImpl; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleServiceImpl;  import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader;  import java.lang.invoke.MethodHandles;  import javafx.application.Application; @@ -9,12 +19,15 @@ import javafx.stage.Stage;  import org.slf4j.Logger;  import org.slf4j.LoggerFactory;  import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean;  import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary;  import org.springframework.stereotype.Component;  @Component  @ComponentScan("at.ac.tuwien.sepm.assignment.groupphase") -public final class CreateNewEmployeeApplication extends Application { +public class GuiTestApplication extends Application {      private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -23,13 +36,17 @@ public final class CreateNewEmployeeApplication extends Application {      @Override      public void start(Stage primaryStage) throws Exception {          // setup application -        primaryStage.setTitle("Person anlegen"); +        primaryStage.setTitle("Test window");          primaryStage.setWidth(1366);          primaryStage.setHeight(768);          primaryStage.centerOnScreen();          primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated")); -        context = new AnnotationConfigApplicationContext(CreateNewEmployeeApplication.class); +        if (getParameters().getRaw().size() < 1) { +            throw new UnsupportedOperationException("FXML file not set"); +        } + +        context = new AnnotationConfigApplicationContext(GuiTestApplication.class);          final var fxmlLoader = context.getBean(SpringFXMLLoader.class);          primaryStage.setScene(                  new Scene( @@ -37,7 +54,10 @@ public final class CreateNewEmployeeApplication extends Application {                                  fxmlLoader.load(                                          getClass()                                                  .getResourceAsStream( -                                                        "/fxml/createNewEmployee.fxml")))); +                                                        "/fxml/" +                                                                + getParameters() +                                                                        .getRaw() +                                                                        .get(0)))));          // show application          primaryStage.show(); diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationControllerTest.java new file mode 100644 index 0000000..560032e --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationControllerTest.java @@ -0,0 +1,22 @@ +package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller; + +import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; +import org.junit.After; +import org.junit.Before; +import org.testfx.api.FxToolkit; + +public class RegistrationControllerTest extends HighDpiAwareApplicationTest { + +    @Before +    public void setup() throws Exception { +        FxToolkit.registerPrimaryStage(); +        FxToolkit.setupApplication(GuiTestApplication.class, "RegistrationWindow.fxml"); +    } + +    @After +    public void cleanup() throws Exception { +        FxToolkit.cleanupStages(); +    } + +    // TODO: implement GUI Tests +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java deleted file mode 100644 index 3293ae9..0000000 --- a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/RegistrationWindowApplication.java +++ /dev/null @@ -1,53 +0,0 @@ -package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller; - -import at.ac.tuwien.sepm.assignment.groupphase.util.SpringFXMLLoader; -import java.lang.invoke.MethodHandles; -import javafx.application.Application; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.stage.Stage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.stereotype.Component; - -@Component -@ComponentScan("at.ac.tuwien.sepm.assignment.groupphase") -public class RegistrationWindowApplication extends Application { - -    private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - -    public static AnnotationConfigApplicationContext context; - -    @Override -    public void start(Stage primaryStage) throws Exception { -        // setup application -        primaryStage.setTitle("Person anlegen"); -        // primaryStage.setWidth(1366); -        // primaryStage.setHeight(768); -        primaryStage.centerOnScreen(); -        primaryStage.setOnCloseRequest(event -> LOG.debug("Application shutdown initiated")); - -        context = new AnnotationConfigApplicationContext(RegistrationWindowApplication.class); -        final var fxmlLoader = context.getBean(SpringFXMLLoader.class); -        primaryStage.setScene( -                new Scene( -                        (Parent) -                                fxmlLoader.load( -                                        getClass() -                                                .getResourceAsStream( -                                                        "/fxml/RegistrationWindow.fxml")))); - -        // show application -        primaryStage.show(); -        primaryStage.toFront(); -        LOG.debug("Application startup complete"); -    } - -    @Override -    public void stop() { -        LOG.debug("Stopping application"); -        context.close(); -    } -}  | 
