diff options
author | Martin Weick <e1627760@student.tuwien.ac.at> | 2018-05-04 21:20:17 +0200 |
---|---|---|
committer | Martin Weick <e1627760@student.tuwien.ac.at> | 2018-05-04 21:20:17 +0200 |
commit | 378533de5be00afe20ece529c57c65d3cfc7df88 (patch) | |
tree | ec4ceb0652f40878b15504371cae71ba701ff337 /src/test/java | |
parent | 8a4b5e315274e779d2b640de054892281ad63ec3 (diff) | |
download | sepm-groupproject-378533de5be00afe20ece529c57c65d3cfc7df88.tar.gz sepm-groupproject-378533de5be00afe20ece529c57c65d3cfc7df88.tar.xz sepm-groupproject-378533de5be00afe20ece529c57c65d3cfc7df88.zip |
Implements GUI Tests for create new Vehicle
Diffstat (limited to 'src/test/java')
-rw-r--r-- | src/test/java/at/ac/tuwien/sepm/assignment/groupphase/vehicle/CreateNewVehicleControllerTest.java | 54 |
1 files changed, 54 insertions, 0 deletions
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 index 8f35d3b..866ed74 100644 --- 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 @@ -1,10 +1,22 @@ package at.ac.tuwien.sepm.assignment.groupphase.vehicle; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService; +import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidVehicleException; +import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException; +import at.ac.tuwien.sepm.assignment.groupphase.util.Helper; import at.ac.tuwien.sepm.assignment.groupphase.util.HighDpiAwareApplicationTest; +import javafx.scene.control.DialogPane; +import javafx.scene.input.MouseButton; +import javafx.stage.Stage; import org.junit.After; +import org.junit.Assert; import org.junit.Before; +import org.junit.Test; import org.testfx.api.FxToolkit; +import org.testfx.robot.Motion; public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest { @@ -22,4 +34,46 @@ public class CreateNewVehicleControllerTest extends HighDpiAwareApplicationTest public void cleanup() throws Exception { FxToolkit.cleanupStages(); } + + @Test + public void testClickAddValidVehicle() throws ServiceException, InvalidVehicleException { + + when(vehicleService.add(any())).thenReturn(1L); + + clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals("Speichern Erfolgreich", dialogPane.getHeaderText()); + } + + @Test + public void testClickInvalidVehicleEx() throws ServiceException, InvalidVehicleException { + + when(vehicleService.add(any())).thenThrow(InvalidVehicleException.class); + + clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals("Ungültige Eingabe", dialogPane.getHeaderText()); + } + + @Test + public void testClickInvalidServiceEx() throws ServiceException, InvalidVehicleException { + + when(vehicleService.add(any())).thenThrow(ServiceException.class); + + clickOn("#btn_create", Motion.DIRECT, MouseButton.PRIMARY); + + Stage alertDialog = Helper.getTopModalStage(robotContext()); + Assert.assertNotNull(alertDialog); + + DialogPane dialogPane = (DialogPane) alertDialog.getScene().getRoot(); + Assert.assertEquals("Fehler", dialogPane.getHeaderText()); + } } |