package net.rrm.ehour.it.scenario; import net.rrm.ehour.it.AbstractScenario; import org.joda.time.DateTimeConstants; import org.joda.time.LocalDate; import org.junit.Test; import static net.rrm.ehour.it.driver.EhourApplicationDriver.*; import static net.rrm.ehour.it.driver.TimesheetDriver.*; import static net.rrm.ehour.it.driver.TimesheetLockDriver.*; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class LockPeriodScenario extends AbstractScenario { @Test public void should_create_lock() { loginAdmin(); newLock(new LocalDate(2013, DateTimeConstants.DECEMBER, 1), new LocalDate(2013, DateTimeConstants.DECEMBER, 31)); submit(); assertDataSaved(); } @Test public void should_create_lock_with_excluded_users() { loginAdmin(); newLock(new LocalDate(2013, DateTimeConstants.DECEMBER, 1), new LocalDate(2013, DateTimeConstants.DECEMBER, 31)); excludeUser(0); submit(); assertDataSaved(); navigateToAdminLocks(); editLock(0, "December, 2013"); // TODO fix me later // sleep(); // // WebElement element = findElement(By.className("maxScroll")); // assertTrue(element.getText().contains("Admin, eHour")); } @Test public void should_not_be_able_to_enter_hours_in_locked_period() { loginAdmin(); newLock(new LocalDate(2013, DateTimeConstants.DECEMBER, 1), new LocalDate(2013, DateTimeConstants.DECEMBER, 31)); submit(); assertDataSaved(); createUserAndAssign(); logout(); loginRegularUser(); navigateToMonth("January 2014"); clickInWeek(0); assertFalse(isBookingHoursPossible(1)); assertFalse(isBookingHoursPossible(2)); assertTrue(isBookingHoursPossible(3)); assertTrue(isBookingHoursPossible(4)); assertTrue(isBookingHoursPossible(5)); } }