From 65b04687bcba801ae9015c1ae6912e4d69d25986 Mon Sep 17 00:00:00 2001 From: Alexandre Brandizzi Date: Wed, 16 Sep 2026 22:30:32 -0300 Subject: [PATCH] fix(work-orders): honor edited service labels --- .../Implementation/WorkOrderBoardService.cs | 2 +- .../WorkOrderBoardServiceTests.cs | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/SeaHaven.Services/Implementation/WorkOrderBoardService.cs b/SeaHaven.Services/Implementation/WorkOrderBoardService.cs index 085e3db..7a7f1b7 100644 --- a/SeaHaven.Services/Implementation/WorkOrderBoardService.cs +++ b/SeaHaven.Services/Implementation/WorkOrderBoardService.cs @@ -138,7 +138,7 @@ namespace SeaHaven.Services.Implementation TechPhone = row.TechPhone, ApptDate = row.DispatchApptDate ?? row.ScheduledDate, ApptTime = WorkOrderDerivedFields.FormatApptTime(apptStart, apptEnd), - Pm = row.ServiceNameSnapshot ?? row.Trade ?? row.Problem, + Pm = row.Trade ?? row.ServiceNameSnapshot ?? row.Problem, ServiceNotes = row.ServiceNotes, ExtraServices = ParseExtraServices(row.ExtraServices), AdditionalContacts = MapAdditionalContacts(row), diff --git a/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs b/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs index 9e35213..96acd1b 100644 --- a/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs +++ b/SeaHavenIndustries.Tests/WorkOrderBoardServiceTests.cs @@ -1043,6 +1043,24 @@ public class WorkOrderBoardServiceTests Assert.Equal("09:00", dto.ApptTime); } + [Fact] + public void MapRawRow_PmEditTakesPrecedenceOverServiceSnapshot() + { + var row = RawRow( + scheduledDate: new DateTime(2026, 6, 23), + scheduledStart: null, + scheduledEnd: null, + dispatchApptDate: null) with + { + Trade = "Updated service label", + ServiceNameSnapshot = "Original service label" + }; + + var dto = WorkOrderBoardService.MapRawRow(row, DateTime.UtcNow); + + Assert.Equal("Updated service label", dto.Pm); + } + private static WorkOrderBoardRawRow RawRow( DateTime? scheduledDate, DateTime? scheduledStart,