@@ -25,35 +25,67 @@ function Invoke-ListTests {
2525
2626 $TestResultsData = Get-CIPPTestResults - TenantFilter $TenantFilter
2727
28- $TotalTests = 0
28+ $IdentityTotal = 0
29+ $DevicesTotal = 0
2930
3031 if ($ReportId ) {
3132 $ReportTable = Get-CippTable - tablename ' CippReportTemplates'
3233 $Filter = " PartitionKey eq 'ReportingTemplate' and RowKey eq '{0}'" -f $ReportId
3334 $ReportTemplate = Get-CIPPAzDataTableEntity @ReportTable - Filter $Filter
3435
3536 if ($ReportTemplate ) {
36- $ReportTests = $ReportTemplate.Tests | ConvertFrom-Json
37- $TotalTests = @ ($ReportTests ).Count
38- $FilteredTests = $TestResultsData.TestResults | Where-Object { $ReportTests -contains $_.TestId }
39- $TestResultsData.TestResults = $FilteredTests
37+ $IdentityTests = @ ()
38+ $DeviceTests = @ ()
39+
40+ if ($ReportTemplate.identityTests ) {
41+ $IdentityTests = $ReportTemplate.identityTests | ConvertFrom-Json
42+ $IdentityTotal = @ ($IdentityTests ).Count
43+ }
44+
45+ if ($ReportTemplate.deviceTests ) {
46+ $DeviceTests = $ReportTemplate.deviceTests | ConvertFrom-Json
47+ $DevicesTotal = @ ($DeviceTests ).Count
48+ }
49+
50+ $AllReportTests = $IdentityTests + $DeviceTests
51+ $FilteredTests = $TestResultsData.TestResults | Where-Object { $AllReportTests -contains $_.RowKey }
52+ $TestResultsData.TestResults = @ ($FilteredTests )
4053 } else {
4154 Write-LogMessage - API $APIName - tenant $TenantFilter - message " Report template '$ReportId ' not found" - sev Warning
4255 $TestResultsData.TestResults = @ ()
4356 }
4457 } else {
45- $TotalTests = @ ($TestResultsData.TestResults ).Count
58+ $IdentityTotal = @ ($TestResultsData.TestResults | Where-Object { $_.TestType -eq ' Identity' }).Count
59+ $DevicesTotal = @ ($TestResultsData.TestResults | Where-Object { $_.TestType -eq ' Devices' }).Count
4660 }
4761
62+ $IdentityResults = $TestResultsData.TestResults | Where-Object { $_.TestType -eq ' Identity' }
63+ $DeviceResults = $TestResultsData.TestResults | Where-Object { $_.TestType -eq ' Devices' }
64+
4865 $TestCounts = @ {
49- Successful = @ ($TestResultsData.TestResults | Where-Object { $_.Result -eq ' Passed' }).Count
50- Failed = @ ($TestResultsData.TestResults | Where-Object { $_.Result -eq ' Failed' }).Count
51- Skipped = @ ($TestResultsData.TestResults | Where-Object { $_.Result -eq ' Skipped' }).Count
52- Total = $TotalTests
66+ Identity = @ {
67+ Passed = @ ($IdentityResults | Where-Object { $_.Status -eq ' Passed' }).Count
68+ Failed = @ ($IdentityResults | Where-Object { $_.Status -eq ' Failed' }).Count
69+ Investigate = @ ($IdentityResults | Where-Object { $_.Status -eq ' Investigate' }).Count
70+ Skipped = @ ($IdentityResults | Where-Object { $_.Status -eq ' Skipped' }).Count
71+ Total = $IdentityTotal
72+ }
73+ Devices = @ {
74+ Passed = @ ($DeviceResults | Where-Object { $_.Status -eq ' Passed' }).Count
75+ Failed = @ ($DeviceResults | Where-Object { $_.Status -eq ' Failed' }).Count
76+ Investigate = @ ($DeviceResults | Where-Object { $_.Status -eq ' Investigate' }).Count
77+ Skipped = @ ($DeviceResults | Where-Object { $_.Status -eq ' Skipped' }).Count
78+ Total = $DevicesTotal
79+ }
5380 }
5481
5582 $TestResultsData | Add-Member - NotePropertyName ' TestCounts' - NotePropertyValue $TestCounts - Force
5683
84+ $SecureScoreData = New-CIPPDbRequest - TenantFilter $TenantFilter - Type ' SecureScore'
85+ if ($SecureScoreData ) {
86+ $TestResultsData | Add-Member - NotePropertyName ' SecureScore' - NotePropertyValue $SecureScoreData - Force
87+ }
88+
5789 $StatusCode = [HttpStatusCode ]::OK
5890 $Body = $TestResultsData
5991
0 commit comments