public void CreateMdpSummaryResult_Should_return_null_object_When_TotalAreaCoveredSqMeters_is_null() { var mdpSummaryResult = new MDPSummaryResult(1, 2, true, 3, 4, 0, 5); var result = new CompactionMdpSummaryResult(mdpSummaryResult, null); Assert.IsNotNull(result); Assert.AreEqual(ContractExecutionResult.DefaultMessage, result.Message); Assert.IsNull(result.SummaryData); }
public async Task <ActionResult <CompactionMdpSummaryResult> > GetMdpSummary( [FromQuery] Guid projectUid, [FromQuery] Guid?filterUid) { Log.LogInformation($"{nameof(GetMdpSummary)}: " + Request.QueryString); var validationResult = await ValidateFilterAgainstProjectExtents(projectUid, filterUid); if (!validationResult.isValidFilterForProjectExtents) { return(Ok(new CompactionMdpSummaryResult())); } var filter = validationResult.filterResult == null?GetCompactionFilter(projectUid, filterUid) : Task.FromResult(validationResult.filterResult); var projectId = GetLegacyProjectId(projectUid); var projectSettings = GetProjectSettingsTargets(projectUid); await Task.WhenAll(filter, projectId, projectSettings); var mdpSettings = SettingsManager.CompactionMdpSettings(projectSettings.Result); var liftSettings = SettingsManager.CompactionLiftBuildSettings(projectSettings.Result); var request = new MDPRequest(projectId.Result, projectUid, null, mdpSettings, liftSettings, filter.Result, -1, null, null, null); request.Validate(); try { var result = await RequestExecutorContainerFactory.Build <SummaryMDPExecutor>(LoggerFactory, configStore : ConfigStore, trexCompactionDataProxy : TRexCompactionDataProxy, customHeaders : CustomHeaders, userId : GetUserId(), fileImportProxy : FileImportProxy) .ProcessAsync(request) as MDPSummaryResult; var mdpSummaryResult = new CompactionMdpSummaryResult(result, mdpSettings); Log.LogInformation($"{nameof(GetMdpSummary)} result: " + JsonConvert.SerializeObject(mdpSummaryResult)); await SetCacheControlPolicy(projectUid); return(Ok(mdpSummaryResult)); } catch (ServiceException exception) { Log.LogError($"{nameof(GetMdpSummary)}: {exception.GetResult.Message} ({exception.GetResult.Code})"); return(BadRequest(new ContractExecutionResult(exception.GetResult.Code, exception.GetResult.Message))); } finally { Log.LogInformation($"{nameof(GetMdpSummary)} returned: " + Response.StatusCode); } }
public void CreateMdpSummaryResult_Should_return_full_object_When_TotalAreaCoveredSqMeters_is_not_null() { var mdpSummaryResult = new MDPSummaryResult(1, 2, true, 3, 4, 3425, 5); var mdpSettings = new MDPSettings(7, 8, 9, 10, 11, true); var result = new CompactionMdpSummaryResult(mdpSummaryResult, mdpSettings); Assert.IsNotNull(result); Assert.AreEqual(ContractExecutionResult.DefaultMessage, result.Message); Assert.AreEqual(9, result.SummaryData.MaxMDPPercent); Assert.AreEqual(11, result.SummaryData.MinMDPPercent); Assert.AreEqual(5, result.SummaryData.PercentLessThanTarget); Assert.AreEqual(3, result.SummaryData.PercentGreaterThanTarget); Assert.AreEqual(3425, result.SummaryData.TotalAreaCoveredSqMeters); Assert.IsNotNull(result.SummaryData.MdpTarget); }