public async Task ResolveLabelsOnReportAdded_WhenOneReportGroupInRange_ShouldChangeTheLabelOfAddedPoint() { //arrange _testData.WhenOneReportGroupInRange.GenerateData().AddToDbContext(); var report = _testData.WhenOneReportGroupInRange.EntityData.Reports.First(); //act await _reportLabelingService.ResolveLabelsOnReportAdded(report, report.ProjectHealthRisk); //assert report.ReportGroupLabel.ShouldBe(_testData.WhenOneReportGroupInRange.AdditionalData.LabelOfNewPointAfterAdding); }
public async Task <Alert> ReportAdded(Report report) { var dataCollectorIsNotHuman = report.DataCollector.DataCollectorType != DataCollectorType.Human; var reportTypeIsAggregateOrDcp = report.ReportType == ReportType.Aggregate || report.ReportType == ReportType.DataCollectionPoint; var healthRiskTypeIsActivity = report.ProjectHealthRisk.HealthRisk.HealthRiskType == HealthRiskType.Activity; if (report.IsTraining || dataCollectorIsNotHuman || reportTypeIsAggregateOrDcp || healthRiskTypeIsActivity) { return(null); } var projectHealthRisk = await _nyssContext.ProjectHealthRisks .Where(phr => phr == report.ProjectHealthRisk) .Include(phr => phr.AlertRule) .Include(phr => phr.HealthRisk) .SingleAsync(); if (projectHealthRisk.HealthRisk.HealthRiskType == HealthRiskType.Activity) { return(null); } await _reportLabelingService.ResolveLabelsOnReportAdded(report, projectHealthRisk); await _nyssContext.SaveChangesAsync(); var triggeredAlert = await HandleAlerts(report); await _nyssContext.SaveChangesAsync(); return(triggeredAlert); }