From 9d5798437d09f867879466bdf8d4b0d4d02c41be Mon Sep 17 00:00:00 2001 From: Alexandre Brandizzi Date: Thu, 24 Sep 2026 21:11:20 -0300 Subject: [PATCH] test(workorders): pin the week-only date range rule shared with the board page (SH-391) --- .../WorkOrderAdvancedSearchDateRangeTests.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/SeaHavenIndustries.Tests/WorkOrderAdvancedSearchDateRangeTests.cs b/SeaHavenIndustries.Tests/WorkOrderAdvancedSearchDateRangeTests.cs index 4bacc93..634c12f 100644 --- a/SeaHavenIndustries.Tests/WorkOrderAdvancedSearchDateRangeTests.cs +++ b/SeaHavenIndustries.Tests/WorkOrderAdvancedSearchDateRangeTests.cs @@ -49,6 +49,12 @@ public class WorkOrderAdvancedSearchDateRangeTests istemplate = false }; + private static WorkOrder NotWeekOnly(WorkOrder wo) + { + wo.ScheduleWeekOnly = false; + return wo; + } + private static WorkOrderAdvancedSearchQueryDto UnassignedInRange(bool includeDateless = false) => new() { DatePreset = WorkOrderAdvancedSearchDatePreset.Custom, @@ -105,7 +111,12 @@ public class WorkOrderAdvancedSearchDateRangeTests context.workOrders.AddRange( Wo(1, null, targetWeek: new DateOnly(2026, 9, 21)), Wo(2, null, targetWeek: new DateOnly(2026, 9, 14)), - Wo(3, null, targetWeek: new DateOnly(2026, 9, 28))); + Wo(3, null, targetWeek: new DateOnly(2026, 9, 28)), + // Week-only with a leftover date outside the range: the week decides, + // as on the board page (SH-391). + Wo(4, new DateTime(2026, 10, 2), targetWeek: new DateOnly(2026, 9, 21)), + // Not week-only: its date decides, so a target week does not bring it in. + NotWeekOnly(Wo(5, new DateTime(2026, 10, 2), targetWeek: new DateOnly(2026, 9, 21)))); await context.SaveChangesAsync(); // Wed–Fri of the week of 9/21: the week-only row for that week overlaps it. @@ -117,7 +128,7 @@ public class WorkOrderAdvancedSearchDateRangeTests Dispatchers = new List { "__unassigned__" } }, WorkOrderAccountTestHelpers.OrgWideAdmin(), null); - Assert.Equal(new[] { 1 }, result.Items.Select(i => i.Id).ToArray()); + Assert.Equal(new[] { 1, 4 }, result.Items.Select(i => i.Id).OrderBy(id => id).ToArray()); } [Fact]