package com.vaadin.tests.components.calendar; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; import org.junit.Assert; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import com.vaadin.tests.tb3.DndActionsTest; public class NullEventMoveHandlerTest extends DndActionsTest { @Override public void setup() throws Exception { super.setup(); openTestURL(); } @Test public void eventIsNotMovableInMonthView() { assertEventCannotBeMoved(); } @Test public void eventIsClickableWhenNotMovableInMonthView() { getEvent().click(); Assert.assertEquals("1. Clicked on foo", getLogRow(0)); } @Test public void eventIsNotMovableInWeekView() { openWeekView(); assertEventCannotBeMoved(); } @Test public void eventIsClickableWhenNotMovableInWeekView() { openWeekView(); getEvent().findElement(By.className("v-calendar-event-caption")) .click(); Assert.assertEquals("1. Clicked on foo", getLogRow(0)); } private void assertEventCannotBeMoved() { int originalPosition = getEventXPosition(); moveEventToNextDay(); assertThat("Event position changed.", getEventXPosition(), is(originalPosition)); } private void openWeekView() { getDriver().findElement(By.className("v-calendar-week-number")).click(); } private void moveEventToNextDay() { WebElement event = getEvent(); dragAndDrop(event, event.getSize().getWidth() + 5, 0); } private int getEventXPosition() { return getEvent().getLocation().getX(); } private WebElement getEvent() { return getDriver().findElement(By.className("v-calendar-event")); } }