package jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.popup; import static org.junit.Assert.assertEquals; import java.time.LocalDateTime; import java.util.stream.Collectors; import org.junit.Test; import javafx.scene.control.TextField; import jfxtras.icalendarfx.components.VEvent; import jfxtras.scene.control.LocalDateTimeTextField; import jfxtras.scene.control.agenda.icalendar.ICalendarStaticComponents; import jfxtras.scene.control.agenda.icalendar.agenda.AgendaTestAbstract; import jfxtras.test.TestUtil; public class MiscPopupTest extends VEventPopupTestBase { @Test // simple press save public void canSaveWithNoEdit() { VEvent vevent = ICalendarStaticComponents.getDaily1(); TestUtil.runThenWaitForPaintPulse( () -> { getEditComponentPopup().setupData( vevent, LocalDateTime.of(2016, 5, 15, 10, 0), // start of edited instance LocalDateTime.of(2016, 5, 15, 11, 0), // end of edited instance AgendaTestAbstract.CATEGORIES); }); // click save button (no changes so no dialog) clickOn("#saveComponentButton"); String iTIPMessage = getEditComponentPopup().iTIPMessagesProperty().get().stream() .map(v -> v.toString()) .collect(Collectors.joining(System.lineSeparator())); assertEquals("", iTIPMessage); } @Test public void canCancelEdit() { VEvent vevent = ICalendarStaticComponents.getDaily1(); TestUtil.runThenWaitForPaintPulse( () -> { getEditComponentPopup().setupData( vevent, LocalDateTime.of(2015, 11, 11, 10, 0), // start selected instance LocalDateTime.of(2015, 11, 11, 11, 0), // end selected instance AgendaTestAbstract.CATEGORIES); }); // edit properties TextField summaryTextField = find("#summaryTextField"); summaryTextField.setText("new summary"); LocalDateTimeTextField startDateTimeTextField = find("#startDateTimeTextField"); startDateTimeTextField.setLocalDateTime(LocalDateTime.of(2015, 11, 11, 10, 30)); // cancel changes clickOn("#saveComponentButton"); clickOn("#changeDialogCancelButton"); clickOn("#cancelComponentButton"); String iTIPMessage = getEditComponentPopup().iTIPMessagesProperty().get().stream() .map(v -> v.toString()) .collect(Collectors.joining(System.lineSeparator())); assertEquals("", iTIPMessage); } }