mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-10-04 14:52:10 +00:00
merge: carry uplift queue corrections into decisions
# Conflicts: # Api.SeaHavenIndustries.Tests/UpliftQueueReadTests.cs # SeaHaven.DataServices/Implementation/UpliftDataService.cs
This commit is contained in:
commit
e5e4cd0b58
1 changed files with 31 additions and 1 deletions
|
|
@ -87,7 +87,7 @@ public sealed class UpliftQueueReadTests
|
||||||
var workOrder = new WorkOrder
|
var workOrder = new WorkOrder
|
||||||
{
|
{
|
||||||
InternalWONumber = number,
|
InternalWONumber = number,
|
||||||
WorkerOrderNumber = number,
|
WorkerOrderNumber = $"legacy-{number}",
|
||||||
SiteCode = site,
|
SiteCode = site,
|
||||||
Service = service,
|
Service = service,
|
||||||
WorkerOrderTitle = "Repair"
|
WorkerOrderTitle = "Repair"
|
||||||
|
|
@ -439,6 +439,36 @@ public sealed class UpliftQueueReadTests
|
||||||
itemB.WorkOrderApprovedExposureTotal.Should().Be(75m);
|
itemB.WorkOrderApprovedExposureTotal.Should().Be(75m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task Exposure_UsesGrantedAmountForVendorPortalAndRequestedAmountForWorkOrderRequests()
|
||||||
|
{
|
||||||
|
using var context = NewContext();
|
||||||
|
var (vendor, workOrder) = await SeedWorkOrderAsync(context, "WO-ORIGIN", "SITE-A", "HVAC");
|
||||||
|
var dispatch = await SeedDispatchAsync(context, vendor, workOrder, "DIS-ORIGIN");
|
||||||
|
context.DispatchUpliftRequests.AddRange(
|
||||||
|
Request(
|
||||||
|
dispatch,
|
||||||
|
"Approved",
|
||||||
|
new DateTime(2026, 3, 1),
|
||||||
|
decided: new DateTime(2026, 3, 2),
|
||||||
|
requested: 400m,
|
||||||
|
currentNte: 100m),
|
||||||
|
Request(
|
||||||
|
dispatch,
|
||||||
|
"Approved",
|
||||||
|
new DateTime(2026, 3, 3),
|
||||||
|
decided: new DateTime(2026, 3, 4),
|
||||||
|
requested: 250m,
|
||||||
|
createdBy: "internal-user",
|
||||||
|
currentNte: 100m));
|
||||||
|
await context.SaveChangesAsync();
|
||||||
|
|
||||||
|
var exposure = await new UpliftDataService(context)
|
||||||
|
.GetApprovedExposureForWorkOrdersAsync(new[] { workOrder.Id }, CancellationToken.None);
|
||||||
|
|
||||||
|
exposure.Should().ContainSingle().Which.AdminApprovedTotal.Should().Be(550m);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task Exposure_IncludesLinkedDispatchesViaServerDerivedWorkOrderLinks()
|
public async Task Exposure_IncludesLinkedDispatchesViaServerDerivedWorkOrderLinks()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue