public async Task Execute(JobStatusUpdate jobStatusUpdate) { var workOrderId = int.Parse(jobStatusUpdate.RelatedWorkOrderReference.ID); var workOrder = await _repairsGateway.GetWorkOrder(workOrderId); var jsu = jobStatusUpdate.ToDb(workOrder); await _strategyFactory.ProcessActions(jsu); workOrder.IsSplit = jobStatusUpdate.IsSplit ?? workOrder.IsSplit; workOrder.IsOvertime = jobStatusUpdate.IsOvertime ?? workOrder.IsOvertime; await _repairsGateway.SaveChangesAsync(); await _jobStatusUpdateGateway.CreateJobStatusUpdate(jsu); }
public async Task UpdateSorCodes() { // Arrange string expectedCode = "expectedCode_UpdateWorkOrder"; AddTestCode(expectedCode); var result = await CreateWorkOrder(); var originalTasks = await GetTasks(result.Id); RepairsApi.V2.Generated.WorkElement workElement = TransformTasksToWorkElement(originalTasks); AddRateScheduleItem(workElement, expectedCode, 10); JobStatusUpdate request = CreateUpdateRequest(result.Id, workElement); // Act var code = await Post("/api/v2/jobStatusUpdate", request); var newTasks = await GetTasks(result.Id); // Assert code.Should().Be(HttpStatusCode.OK); newTasks.Count().Should().Be(originalTasks.Count() + 1); }