mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 11:53:12 +00:00
Do not project VendorId/VendorName for Cancelled, Canceled, or Refused primary dispatches, and expose PrimaryDispatchStatus on the board DTO.
35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using SeaHaven.DataServices.Helpers;
|
|
|
|
namespace SeaHavenIndustries.Tests;
|
|
|
|
public class WorkOrderBoardDispatchAssignmentTests
|
|
{
|
|
[Theory]
|
|
[InlineData("Cancelled")]
|
|
[InlineData("Canceled")]
|
|
[InlineData("Refused")]
|
|
[InlineData(" cancelled ")]
|
|
[InlineData("CANCELED")]
|
|
[InlineData("refused")]
|
|
public void LiveVendor_InactiveStatus_ClearsAssignment(string status)
|
|
{
|
|
var (vendorId, vendorName) = WorkOrderBoardDispatchAssignment.LiveVendor(45, "Acme HVAC", status);
|
|
Assert.Null(vendorId);
|
|
Assert.Null(vendorName);
|
|
Assert.True(WorkOrderBoardDispatchAssignment.IsInactivePrimaryDispatch(status));
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(null)]
|
|
[InlineData("")]
|
|
[InlineData("Sent")]
|
|
[InlineData("Verified")]
|
|
[InlineData("Completed")]
|
|
public void LiveVendor_LiveOrMissingStatus_KeepsVendorIdWhenNameEmpty(string? status)
|
|
{
|
|
var (vendorId, vendorName) = WorkOrderBoardDispatchAssignment.LiveVendor(45, null, status);
|
|
Assert.Equal(45, vendorId);
|
|
Assert.Null(vendorName);
|
|
Assert.False(WorkOrderBoardDispatchAssignment.IsInactivePrimaryDispatch(status));
|
|
}
|
|
}
|