Skip to content

Commit 566ec15

Browse files
committed
ai resolutions add settings + add unassign issue
1 parent 2b029dc commit 566ec15

File tree

7 files changed

+28
-8
lines changed

7 files changed

+28
-8
lines changed

src/app/pages/administration/projects/settings/administration.projectSettings.component.html

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@
2626
<mat-slide-toggle *ngIf="projectToSave" id="steps-feature" [(ngModel)]="projectToSave.steps">Steps
2727
</mat-slide-toggle>
2828
</div>
29-
29+
<div class="col-sm-4 no-padding">
30+
<mat-slide-toggle *ngIf="projectToSave" id="ai-resolutions-feautre" [(ngModel)]="projectToSave.ai_resolutions">AI-resolutions
31+
</mat-slide-toggle>
32+
</div>
3033
<labeled-input *ngIf="projectToSave" [(ngModel)]="projectToSave.compare_result_pattern"
3134
label="Import Compare Results Pattern" id="compare-result-pattern-feature">
3235
</labeled-input>
@@ -40,4 +43,4 @@
4043
</div>
4144
</div>
4245
</div>
43-
</div>
46+
</div>

src/app/pages/administration/projects/settings/administration.projectSettings.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export class AdministrationProjectSettingsComponent implements OnInit {
5757

5858
async updateProject() {
5959
this.projectToSave.steps = +this.projectToSave.steps;
60+
this.projectToSave.ai_resolutions = +this.projectToSave.ai_resolutions;
6061
this.selectedProject = await this.projectService.createProjects(this.projectToSave);
6162
this.projectService.handleSuccess(`'${this.projectToSave.name}' project was updated!`);
6263
this.projects = await this.projectService.getProjects({});

src/app/pages/project/issue/issue-view/issue-view.component.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ <h2 id="issue-view">Issue {{issue.id}} <span id="status-badge" class="badge" [ng
1919
(click)="setStatus(4)">Mark as Done</button>
2020
<button *ngIf="+issue.status.id !== 1" id="reopen" type="button" class="btn btn-primary"
2121
(click)="setStatus(1)">Re Open</button>
22+
<button *ngIf="+issue.status.id !== 1" class="btn btn-warning" type="button" id="save-and-unassign"
23+
(click)="saveExpressionAndUnassignIssue()"
24+
title="Save issue. Unassign this issue to all results where Fail Reason fits the Expression and without assigned issue">Save
25+
and Unassign</button>
2226
<button *ngIf="+issue.status.id === 3" id="cannot-reproduce" type="button" class="btn btn-info"
2327
(click)="setStatus(2)">Can Not Reproduce</button>
2428
<button *ngIf="+issue.status.id !== 4" id="save" type="button" class="btn btn-success"
@@ -82,7 +86,7 @@ <h2 id="issue-view">Issue {{issue.id}} <span id="status-badge" class="badge" [ng
8286
<div class="input-group">
8387
<input id="issue-expression" type="text" class="form-control" placeholder="Regular Expression"
8488
name="expression" #expression="ngModel" [ngClass]="{
85-
'is-valid': !isExpressionOverlapped() && !isExpressionInvalid() && expression.touched,
89+
'is-valid': !isExpressionOverlapped() && !isExpressionInvalid() && expression.touched,
8690
'is-invalid': isExpressionOverlapped() || isExpressionInvalid()
8791
}" [(ngModel)]="issue.expression" [disabled]="!canEdit || issue.status_id === 4"
8892
(keyup)="onExpressionUpdate()">
@@ -99,6 +103,9 @@ <h2 id="issue-view">Issue {{issue.id}} <span id="status-badge" class="badge" [ng
99103
title="Save issue. Assign this issue to all results where Fail Reason fits the Expression and without assigned issue">Save
100104
and Assign</button>
101105
</div>
106+
<div *ngIf="!isExpressionOverlapped() && !isExpressionInvalid() && canEdit && issue.status_id !== 4"
107+
class="input-group-append">
108+
</div>
102109
</div>
103110
</div>
104111
<div class="col-sm-12 no-padding">
@@ -143,4 +150,4 @@ <h2 id="issue-view">Issue {{issue.id}} <span id="status-badge" class="badge" [ng
143150
</div>
144151
</div>
145152
</div>
146-
</div>
153+
</div>

src/app/pages/project/issue/issue-view/issue-view.component.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,14 @@ export class IssueViewComponent implements OnInit {
129129
});
130130
}
131131

132+
async saveExpressionAndUnassignIssue() {
133+
this.issue = await this.issueService.createIssue(this.issue, false, true);
134+
this.affectedTests = await this.testService.getTestByIssue({
135+
issueId: this.issue.id,
136+
projectId: this.projectId,
137+
});
138+
}
139+
132140
async saveIssue() {
133141
if (this.issue.title) {
134142
this.issue = await this.issueService.createIssue(this.issue, false);

src/app/pages/project/testrun/testrun-list/testrun-list.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
(execute)="execute($event)" (closed)="wasClosed()"></app-modal>
44
<div class="row">
55
<div class="col-sm-12">
6-
<testrun-result-timeline *ngIf="testrunStatsFiltered" [testrunsStat]="testrunStatsFiltered"></testrun-result-timeline>
6+
<testrun-result-timeline [testrunsStat]="testrunStatsFiltered"></testrun-result-timeline>
77
<br>
88
<div class="pull-right btn-group right-actions">
99
<button id="resultAsCSV" class="btn btn-primary" (click)="uploadResults()">Results As CSV</button>
@@ -18,4 +18,4 @@
1818
[queryParams]="true" (rowClick)="rowClicked($event)" (dataChange)="testrunUpdate($event)" (action)="handleAction($event)"></table-filter>
1919
</div>
2020
</div>
21-
</div>
21+
</div>

src/app/services/issue/issue.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export class IssueService extends BaseHttpService {
1616
return this.http.get<Issue[]>(this.endpoints.issues, { params: this.convertToParams(issue) }).toPromise();
1717
}
1818

19-
async createIssue(issue: Issue, updateResults: boolean = false): Promise<Issue> {
19+
async createIssue(issue: Issue, updateResults: boolean = false, unassignIssue: boolean = false): Promise<Issue> {
2020
if (!issue.expression) {
2121
updateResults = false;
2222
}
@@ -29,7 +29,7 @@ export class IssueService extends BaseHttpService {
2929
issue.external_url = DefaultProperties.blank;
3030
}
3131

32-
const result = await this.http.post<Issue>(this.endpoints.issues, issue, {params: { assign: String(updateResults) }}).toPromise();
32+
const result = await this.http.post<Issue>(this.endpoints.issues, issue, {params: { assign: String(updateResults), unassign: String(unassignIssue) }}).toPromise();
3333
issue.id
3434
? this.handleSuccess(`The issue '${issue.title}' was updated.`)
3535
: this.handleSuccess(`The issue '${issue.title}' was created.`);

src/app/shared/models/project.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export class Project {
1111
steps?: boolean | number;
1212
compare_result_pattern?: string;
1313
stability_count?: number;
14+
ai_resolutions?: boolean | number;
1415
}
1516

1617
export class ImportBodyPattern {

0 commit comments

Comments
 (0)