diff options
| author | Martin Weick <e1627760@student.tuwien.ac.at> | 2018-05-04 21:06:54 +0200 | 
|---|---|---|
| committer | Martin Weick <e1627760@student.tuwien.ac.at> | 2018-05-04 21:06:54 +0200 | 
| commit | c8cdc403f8e3276a9c4b2d82246150924b23bc81 (patch) | |
| tree | 33dd12a0f5922b221a9e55f726249b6c7487de4b /src/test/java/at/ac/tuwien/sepm | |
| parent | ec7198e92ff6cff8844932b54d5319e031dea9a7 (diff) | |
| download | sepm-groupproject-c8cdc403f8e3276a9c4b2d82246150924b23bc81.tar.gz sepm-groupproject-c8cdc403f8e3276a9c4b2d82246150924b23bc81.tar.xz sepm-groupproject-c8cdc403f8e3276a9c4b2d82246150924b23bc81.zip  | |
Prepare UI tests for CreateNewVehicle
Diffstat (limited to 'src/test/java/at/ac/tuwien/sepm')
3 files changed, 95 insertions, 0 deletions
diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java new file mode 100644 index 0000000..dcd88ec --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleApplication.java @@ -0,0 +1,51 @@ +package at.ac.tuwien.sepm.assignment.groupphase.vehicle; + +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/vehicle/CreateNewVehicleControllerTest.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java new file mode 100644 index 0000000..8f35d3b --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java @@ -0,0 +1,25 @@ +package at.ac.tuwien.sepm.assignment.groupphase.vehicle; + +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; +import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; +import org.junit.After; +import org.junit.Before; +import org.testfx.api.FxToolkit; + +public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest { + +    private VehicleService vehicleService; + +    @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); +    } + +    @After +    public void cleanup() throws Exception { +        FxToolkit.cleanupStages(); +    } +} diff --git a/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java new file mode 100644 index 0000000..cccd5dc --- /dev/null +++ b/src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/VehicleServiceTestConfiguration.java @@ -0,0 +1,19 @@ +package at.ac.tuwien.sepm.assignment.groupphase.vehicle; + +import static org.mockito.Mockito.mock; + +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleAdd; +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +@Configuration +public class VehicleServiceTestConfiguration { + +    @Bean +    @Primary +    public VehicleService vehicleService() { +        return mock(VehicleAdd.class); +    } +}  | 
