Skip to content

Commit 602f299

Browse files
authored
Merge pull request #90 from GSA/feature/67_cannot_evaluate
Implementing Cannot Evaluate Category In Table & Analytics
2 parents 7b8739c + ad41ba7 commit 602f299

7 files changed

Lines changed: 63 additions & 8 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "srt",
3-
"version": "0.0.0",
3+
"version": "1.2.0dev1",
44
"license": "MIT",
55
"scripts": {
66
"ng": "ng",

src/app/analytics/analytics.component.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { TopAgenciesPercentageComponent } from './top-agencies-percentage/top-ag
2222
import { UndeterminedSolicitationsComponent } from './undetermined-solicitations/undetermined-solicitations.component';
2323
import { LineChartsComponent } from './line-charts/line-charts.component';
2424
import { DonutChartComponent } from './donut-chart/donut-chart.component';
25+
import { SolicitationResultComponent } from './solicitation-result/solicitation-result.component';
2526

2627

2728
import {of} from 'rxjs';
@@ -37,7 +38,7 @@ describe('AnalyticsComponent', () => {
3738
UserLoginComponent, MachineReadableComponent,
3839
PredictionResultComponent, TopAgenciesPercentageComponent,
3940
UndeterminedSolicitationsComponent, LineChartsComponent,
40-
DonutChartComponent, ],
41+
DonutChartComponent, SolicitationResultComponent],
4142
providers: [Globals, AnalyticsService, BaseChartDirective],
4243
imports: [NgChartsModule, TooltipModule, FormsModule, RouterTestingModule.withRoutes([]), HttpClientTestingModule]
4344
})

src/app/analytics/solicitation-result/solicitation-result.component.spec.ts

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
import { ComponentFixture, TestBed } from '@angular/core/testing';
22

33
import { SolicitationResultComponent } from './solicitation-result.component';
4+
import { NgChartsModule, BaseChartDirective } from 'ng2-charts';
45

56
describe('SolicitationResultComponent', () => {
67
let component: SolicitationResultComponent;
78
let fixture: ComponentFixture<SolicitationResultComponent>;
89

910
beforeEach(async () => {
1011
await TestBed.configureTestingModule({
11-
declarations: [ SolicitationResultComponent ]
12+
declarations: [ SolicitationResultComponent ],
13+
providers: [BaseChartDirective],
14+
imports: [NgChartsModule]
1215
})
1316
.compileComponents();
1417

@@ -20,4 +23,41 @@ describe('SolicitationResultComponent', () => {
2023
it('should create', () => {
2124
expect(component).toBeTruthy();
2225
});
26+
27+
it('should set pie chart data when SolicitationResultChart is defined and hasValue is false', () => {
28+
const chart = {
29+
compliance: 10,
30+
uncompliance: 5,
31+
notApplicable: 3,
32+
cannotEvaluate: 2,
33+
};
34+
component.SolicitationResultChart = chart;
35+
component.hasValue = false;
36+
component.ngOnChanges();
37+
expect(component.numCompliant).toEqual(chart.compliance);
38+
expect(component.numNonCompliant).toEqual(chart.uncompliance);
39+
expect(component.numNotApplicable).toEqual(chart.notApplicable);
40+
expect(component.numCannotEvaluate).toEqual(chart.cannotEvaluate);
41+
expect(component.pieChartData.labels).toEqual(component.pieChartLabels);
42+
expect(component.pieChartData.datasets[0].data).toEqual([
43+
chart.compliance,
44+
chart.uncompliance,
45+
chart.notApplicable,
46+
chart.cannotEvaluate,
47+
]);
48+
expect(component.pieChartData.datasets[0].backgroundColor).toEqual([
49+
'#2C81C0',
50+
'#ff0000',
51+
'#e8e8e8',
52+
'#FFB300',
53+
]);
54+
expect(component.pieChartData.datasets[0].borderColor).toEqual([
55+
'#2C81C0',
56+
'#ff0000',
57+
'#e8e8e8',
58+
'#FFB300',
59+
]);
60+
expect(component.hasValue).toBeTrue();
61+
});
62+
2363
});

src/app/analytics/solicitation-result/solicitation-result.component.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ export class SolicitationResultComponent {
1919
public numCompliant = 0;
2020
public numNonCompliant = 0;
2121
public numNotApplicable = 0;
22+
public numCannotEvaluate = 0;
2223

2324
public hasValue = false;
24-
public pieChartLabels: string[] = ['Compliant', 'Not Compliant', 'Not Applicable'];
25+
public pieChartLabels: string[] = ['Compliant', 'Not Compliant', 'Not Applicable', 'Cannot Evaluate'];
2526
public pieChartData: any;
2627

2728
public pieChartType = 'pie';
@@ -74,14 +75,16 @@ export class SolicitationResultComponent {
7475
this.numCompliant = this.SolicitationResultChart.compliance;
7576
this.numNonCompliant = this.SolicitationResultChart.uncompliance;
7677
this.numNotApplicable = this.SolicitationResultChart.notApplicable;
78+
this.numCannotEvaluate = this.SolicitationResultChart.cannotEvaluate;
79+
7780

7881
this.pieChartData = {
7982
labels: this.pieChartLabels,
8083

8184
datasets: [{
82-
data: [this.numCompliant, this.numNonCompliant, this.numNotApplicable],
83-
backgroundColor: ['#2C81C0', '#ff0000', '#e8e8e8',],
84-
borderColor: ['#2C81C0', '#ff0000', '#e8e8e8',]
85+
data: [this.numCompliant, this.numNonCompliant, this.numNotApplicable, this.numCannotEvaluate],
86+
backgroundColor: ['#2C81C0', '#ff0000', '#e8e8e8', '#FFB300'],
87+
borderColor: ['#2C81C0', '#ff0000', '#e8e8e8','#FFB300']
8588
}]
8689
};
8790

src/app/solicitation/solicitation-report/solicitation-report.component.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ p-dropdown .p-dropdown {
8989
}
9090

9191

92+
.result-yellow span,
93+
.result-yellow i
94+
{
95+
font-size: 16px;
96+
font-weight: bold;
97+
color: #635401;
98+
}
99+
100+
92101
/*Animation */
93102
ul.cb-slide-show {
94103
padding-left: 0px;

src/app/solicitation/solicitation-report/solicitation-report.component.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ <h1 class="srt-page-title srt-blue" style="padding-bottom: 5px;" role="heading"
109109
(click)="selectSol(sol)" style="border: none; text-align: left; padding: 0;">
110110
<i class="fa fa-exclamation-triangle" style="padding-right: 5px;"
111111
*ngIf="sol.predictions.value == 'red' && sol.reviewRec != 'Not Applicable'"></i>
112+
<i class="bi bi-question-diamond-fill" style="padding-right: 5px;"
113+
*ngIf="sol.predictions.value == 'yellow' && sol.reviewRec != 'Not Applicable'"></i>
112114
<span style="text-decoration: underline;">{{sol.reviewRec}}</span>
113115
</button>
114116
</td>

src/app/solicitation/summary/results-detail/results-detail.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<div *ngIf="solicitation.reviewRec !== 'Compliant'"> <!-- Button only displays for non-compliant solicitations -->
2727
<div class="row pt-2">
2828
<div class="col-md-8">
29-
<a id="art" href="https://section508.gov/art" target="_blank" rel="noopener noreferrer" class="btn srt-button">
29+
<a *ngIf="solicitation.reviewRec == 'Non-compliant (Action Required)'" id="art" href="https://section508.gov/art" target="_blank" rel="noopener noreferrer" class="btn srt-button">
3030
Take Action: Get 508 Requirements
3131
</a>
3232
</div>

0 commit comments

Comments
 (0)