From cf6ed1b9503e5b95bb764ccbcd4b61d07a342b2e Mon Sep 17 00:00:00 2001 From: Markus Kreth Date: Tue, 30 Apr 2019 00:12:47 +0200 Subject: [PATCH] not really sufficient mobile test --- .../ui/navigation/MainViewMobile.java | 22 +--- .../navigation/MainViewMobileSmokeTest.java | 109 ++++++++++++++++++ 2 files changed, 110 insertions(+), 21 deletions(-) create mode 100644 src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobileSmokeTest.java diff --git a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java index 2b30a50..8fe2c2c 100644 --- a/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java +++ b/src/main/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobile.java @@ -119,31 +119,11 @@ public class MainViewMobile extends MainView { source.getUI().addWindow(window); LocalDate value = dateField.getValue(); return ZonedDateTime.from(value); -// if (caption.toLowerCase().contains("Start")) { -// return ZonedDateTime.now().withDayOfMonth(1); -// } else { -// return ZonedDateTime.now().plusMonths(1).withDayOfMonth(1).minusDays(1); -// } + } private boolean filter(ClubEvent ev) { return ev.getStart().isAfter(ZonedDateTime.now().minusDays(10)); } - @Override - public void enter(ViewChangeEvent event) { - super.enter(event); - } - - @Override - public void openDetailForEvent(ClubEvent ev) { - super.openDetailForEvent(ev); - - } - - @Override - public void detailClosed() { - super.detailClosed(); - } - } diff --git a/src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobileSmokeTest.java b/src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobileSmokeTest.java new file mode 100644 index 0000000..537528f --- /dev/null +++ b/src/test/java/de/kreth/vaadin/clubhelper/vaadinclubhelper/ui/navigation/MainViewMobileSmokeTest.java @@ -0,0 +1,109 @@ +package de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.navigation; + +import static org.junit.Assert.assertNull; + +import java.time.ZonedDateTime; +import java.util.Arrays; +import java.util.HashSet; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.test.context.junit4.SpringRunner; + +import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent; +import com.vaadin.ui.Component; +import com.vaadin.ui.HasComponents; + +import de.kreth.vaadin.clubhelper.vaadinclubhelper.business.EventBusiness; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.GroupDao; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.dao.PersonDao; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEventBuilder; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Person; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.security.SecurityVerifier; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.CalendarView; +import de.kreth.vaadin.clubhelper.vaadinclubhelper.ui.components.SingleEventView; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +@Tag("spring") +public class MainViewMobileSmokeTest { + + @Autowired + PersonDao personDao; + + @Autowired + SecurityVerifier securityGroupVerifier; + + @Autowired + private GroupDao groupDao; + + @Autowired + private EventBusiness eventBusiness; + + private MainView mainView; + + @Mock + private ViewChangeEvent event; + + @BeforeEach + void initUi() { + MockitoAnnotations.initMocks(this); + Person person = new Person(); + GroupDef g1 = new GroupDef(); + person.setGroups(new HashSet(Arrays.asList(g1))); + securityGroupVerifier.setLoggedinPerson(person); + mainView = new MainViewMobile(personDao, groupDao, eventBusiness, securityGroupVerifier); + mainView.initUI(event); + } + + @Test + void detailNotInsideView() { + assertNull(find(mainView, SingleEventView.class.getName())); + ClubEvent ev = new ClubEventBuilder() + .withAllDay(true) + .withCaption("caption") + .withDescription("description") + .withLocation("location") + .withStart(ZonedDateTime.now()) + .withEnd(ZonedDateTime.now()) + .build(); + mainView.openDetailForEvent(ev); + SingleEventView view = (SingleEventView) find(mainView, SingleEventView.class.getName()); + assertNull(view); + } + + @Test + void calendarComponentNotShowing() { + + CalendarView calendar = (CalendarView) find(mainView, "main.calendar"); + assertNull(calendar); + } + + public Component find(HasComponents view, String id) { + Component component = null; + + for (Component element : view) { + if (id.equals(element.getId())) { + component = element; + break; + } + else if (element instanceof HasComponents) { + component = find((HasComponents) element, id); + if (component != null) { + break; + } + } + + } + return component; + } +}