diff options
author | Teemu Suo-Anttila <tsuoanttila@users.noreply.github.com> | 2016-12-14 13:10:39 +0200 |
---|---|---|
committer | Pekka Hyvönen <pekka@vaadin.com> | 2016-12-14 13:10:39 +0200 |
commit | 4852034df2cad35489eb5d358a8ddc0b356d8568 (patch) | |
tree | a6c7ac9cea8f843ca2471aa7619b8738ff5b71e9 /test/spring-boot/src | |
parent | 44b75ed4b1bedb385d3995909136309d5f8a2e3b (diff) | |
download | vaadin-framework-4852034df2cad35489eb5d358a8ddc0b356d8568.tar.gz vaadin-framework-4852034df2cad35489eb5d358a8ddc0b356d8568.zip |
Add Vaadin Spring dependency version to BOM (#112)
* Add Vaadin Spring dependency version to BOM
This patch adds a smoke test that check that a basic
Vaadin UI loads and communication works.
* Remove Maven wrapper from Spring Boot test
* Remove .gitignore, add missing newlines
* Minor fixes to pom.xml files
* Separate vaadin-test from vaadin-root
* Fix whitespace
Diffstat (limited to 'test/spring-boot/src')
3 files changed, 73 insertions, 0 deletions
diff --git a/test/spring-boot/src/main/java/com/example/DemoApplication.java b/test/spring-boot/src/main/java/com/example/DemoApplication.java new file mode 100644 index 0000000000..9a4edd8769 --- /dev/null +++ b/test/spring-boot/src/main/java/com/example/DemoApplication.java @@ -0,0 +1,29 @@ +package com.example; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.spring.annotation.SpringUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Notification; +import com.vaadin.ui.UI; + +@SpringBootApplication +public class DemoApplication { + + public static void main(String[] args) { + SpringApplication.run(DemoApplication.class, args); + } +} + +@SpringUI +class MyUI extends UI { + public static final String NOTIFICATION_TEXT = "Thank you for clicking."; + + @Override + protected void init(VaadinRequest request) { + setContent(new Button("Click Me!", + e -> Notification.show(NOTIFICATION_TEXT))); + } +} diff --git a/test/spring-boot/src/main/resources/application.properties b/test/spring-boot/src/main/resources/application.properties new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/test/spring-boot/src/main/resources/application.properties diff --git a/test/spring-boot/src/test/java/com/example/SpringBootSmokeTest.java b/test/spring-boot/src/test/java/com/example/SpringBootSmokeTest.java new file mode 100644 index 0000000000..fe5357579b --- /dev/null +++ b/test/spring-boot/src/test/java/com/example/SpringBootSmokeTest.java @@ -0,0 +1,44 @@ +package com.example; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.phantomjs.PhantomJSDriver; +import org.springframework.boot.context.embedded.LocalServerPort; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import com.vaadin.testbench.TestBench; +import com.vaadin.testbench.TestBenchTestCase; +import com.vaadin.testbench.elements.ButtonElement; +import com.vaadin.testbench.elements.NotificationElement; +import com.vaadin.testbench.parallel.Browser; + +/** + * @author Vaadin Ltd + * + */ +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +public class SpringBootSmokeTest extends TestBenchTestCase { + + @LocalServerPort + Integer port; + + @Before + public void setUp() { + setDriver(TestBench.createDriver(new PhantomJSDriver( + Browser.PHANTOMJS.getDesiredCapabilities()))); + } + + @Test + public void testPageLoadsAndButtonWorks() { + getDriver().navigate().to("http://localhost:" + port + ""); + $(ButtonElement.class).first().click(); + Assert.assertTrue($(NotificationElement.class).exists()); + Assert.assertEquals(MyUI.NOTIFICATION_TEXT, + $(NotificationElement.class).first().getText()); + } +} |