From 6c75259ed01c13d3564ed86d1d995faada37d5dc Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 4 Dec 2025 14:48:40 -0800 Subject: [PATCH 1/3] Update expected event count for event that spans a weekend --- .../tests/targetedms/InstrumentSchedulingTest.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java b/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java index 095055550..38571beab 100644 --- a/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java +++ b/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java @@ -35,11 +35,14 @@ import org.openqa.selenium.WebElement; import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -217,12 +220,19 @@ public void testSchedule() throws IOException, CommandException assertTextPresent("When multiple payment methods are used, the percentages must add up to 100% (current total: 110%)."); setFormElement(percentInputs.get(0), "40"); + AtomicBoolean overWeekend = new AtomicBoolean(false); scheduleInstrument(yearMonth + "-06", false, () -> { // Make it a two-day reservation String originalEnd = getFormElement(END_DATE_TIME_FIELD.findElement(getDriver())); + try { + Calendar c = Calendar.getInstance(); + c.setTime(new SimpleDateFormat(getCurrentDateFormatString()).parse(originalEnd)); + overWeekend.set(c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY); + } catch (ParseException ignore) {} setFormElement(END_DATE_TIME_FIELD.findElement(getDriver()), originalEnd.replace("-06T", "-07T")); }); - assertProjectEventCounts(1, 0); + // If an event spans a weekend, it will be represented by two separate event elements + assertProjectEventCounts(overWeekend.get() ? 2 : 1, 0); impersonate(LAB_MEMBER_USER); assertEquals("Wrong number of projects for " + LAB_MEMBER_USER, From 3d7d1b0c73609c36526aa281a5cccb23998873c4 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 4 Dec 2025 15:05:40 -0800 Subject: [PATCH 2/3] Update other checks --- .../tests/targetedms/InstrumentSchedulingTest.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java b/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java index 38571beab..dd3e54d17 100644 --- a/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java +++ b/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java @@ -220,19 +220,19 @@ public void testSchedule() throws IOException, CommandException assertTextPresent("When multiple payment methods are used, the percentages must add up to 100% (current total: 110%)."); setFormElement(percentInputs.get(0), "40"); - AtomicBoolean overWeekend = new AtomicBoolean(false); + AtomicBoolean twoDayReservationOverWeekend = new AtomicBoolean(false); scheduleInstrument(yearMonth + "-06", false, () -> { // Make it a two-day reservation String originalEnd = getFormElement(END_DATE_TIME_FIELD.findElement(getDriver())); try { Calendar c = Calendar.getInstance(); c.setTime(new SimpleDateFormat(getCurrentDateFormatString()).parse(originalEnd)); - overWeekend.set(c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY); + twoDayReservationOverWeekend.set(c.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY); } catch (ParseException ignore) {} setFormElement(END_DATE_TIME_FIELD.findElement(getDriver()), originalEnd.replace("-06T", "-07T")); }); // If an event spans a weekend, it will be represented by two separate event elements - assertProjectEventCounts(overWeekend.get() ? 2 : 1, 0); + assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 2 : 1, 0); impersonate(LAB_MEMBER_USER); assertEquals("Wrong number of projects for " + LAB_MEMBER_USER, @@ -292,10 +292,10 @@ public void testSchedule() throws IOException, CommandException waitAndClickAndWait(Locator.linkWithText("All instrument calendar view")); waitForText(INSTRUMENT_1, INSTRUMENT_2, INACTIVE_INSTRUMENT); - assertProjectEventCounts(5, 0); + assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 6: 5, 0); selectOptionByText(Locator.id("projectFilter"), PROJECT_2); - assertProjectEventCounts(3, 2); + assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 4: 3, 2); goToDashboard(); waitAndClickAndWait(Locator.linkWithText("Instrument billing report")); From 0a98e6d66132bef687b34b9968069d8ecaa915a4 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 4 Dec 2025 15:13:29 -0800 Subject: [PATCH 3/3] Fix spacing --- .../test/tests/targetedms/InstrumentSchedulingTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java b/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java index dd3e54d17..6afba133b 100644 --- a/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java +++ b/test/src/org/labkey/test/tests/targetedms/InstrumentSchedulingTest.java @@ -292,10 +292,10 @@ public void testSchedule() throws IOException, CommandException waitAndClickAndWait(Locator.linkWithText("All instrument calendar view")); waitForText(INSTRUMENT_1, INSTRUMENT_2, INACTIVE_INSTRUMENT); - assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 6: 5, 0); + assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 6 : 5, 0); selectOptionByText(Locator.id("projectFilter"), PROJECT_2); - assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 4: 3, 2); + assertProjectEventCounts(twoDayReservationOverWeekend.get() ? 4 : 3, 2); goToDashboard(); waitAndClickAndWait(Locator.linkWithText("Instrument billing report"));