Skip to content

Commit 9dc2af8

Browse files
Merge branch 'feature/public_api_tests' into feature/add_possibility_to_filter_by_inactive_milestone
2 parents 6508f09 + 5c6e8b0 commit 9dc2af8

File tree

6 files changed

+124
-268
lines changed

6 files changed

+124
-268
lines changed

e2e/api/base.api.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { Project } from '../../src/app/shared/models/project';
2+
import { ATError } from '../../src/app/shared/models/error';
3+
import { ApiAssertMessages } from '../specs/api/api.constants';
4+
5+
export class BaseAPI {
6+
project: Project;
7+
token: string;
8+
9+
constructor(project: Project, token: string) {
10+
this.project = project;
11+
this.token = token;
12+
}
13+
14+
public async assertNegativeresponse(promise: Promise<object>, expectedError: string): Promise<void> {
15+
let atError: ATError;
16+
try {
17+
await promise;
18+
} catch (error) {
19+
atError = error;
20+
}
21+
22+
expect(atError).toBeDefined(ApiAssertMessages.errorNotRaised);
23+
expect(atError.message).toBe(expectedError, ApiAssertMessages.errorIsWrong);
24+
}
25+
}

e2e/api/editor.api.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { TestRun } from '../../src/app/shared/models/testRun';
55
import { Milestone } from '../../src/app/shared/models/milestone';
66
import { sendPost, sendGet, sendDelete } from '../utils/aqualityTrackingAPI.util';
77
import { TestResult } from '../../src/app/shared/models/test-result';
8-
import { Project } from '../../src/app/shared/models/project';
8+
import { BaseAPI } from './base.api';
99

1010
enum Endpoints {
1111
suite = '/suite',
@@ -18,14 +18,7 @@ enum Endpoints {
1818
testToSuite = '/testToSuite'
1919
}
2020

21-
export class EditorAPI {
22-
project: Project;
23-
token: string;
24-
25-
constructor(project: Project, token: string) {
26-
this.project = project;
27-
this.token = token;
28-
}
21+
export class EditorAPI extends BaseAPI {
2922

3023
public async createSuite(suite: TestSuite): Promise<TestSuite> {
3124
suite.project_id = this.project.id;

e2e/api/importer.api.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { logger } from '../utils/log.util';
33
import { Project } from '../../src/app/shared/models/project';
44
import { EditorAPI } from './editor.api';
55
import { TestRun } from '../../src/app/shared/models/testRun';
6+
import { BaseAPI } from './base.api';
67

78
export class ImportParams {
89
projectId?: number;
@@ -20,14 +21,11 @@ export enum ImportFormats {
2021

2122
const CHECK_IMPORTED_DELAY = 2000;
2223

23-
export class Importer {
24-
project: Project;
25-
token: string;
24+
export class Importer extends BaseAPI {
2625
editorAPI: EditorAPI;
2726

2827
constructor(project: Project, token: string) {
29-
this.project = project;
30-
this.token = token;
28+
super(project, token);
3129
this.editorAPI = new EditorAPI(this.project, this.token);
3230
}
3331

e2e/api/public.api.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { TestRun } from '../../src/app/shared/models/testRun';
44
import { sendPost, sendGet } from '../utils/aqualityTrackingAPI.util';
55
import { TestResult } from '../../src/app/shared/models/test-result';
66
import { Project } from '../../src/app/shared/models/project';
7+
import { BaseAPI } from './base.api';
78

89
enum Endpoints {
910
suite_create_or_update = '/public/suite/create-or-update',
@@ -14,14 +15,7 @@ enum Endpoints {
1415
test_create_or_update = '/public/test/create-or-update'
1516
}
1617

17-
export class PublicAPI {
18-
project: Project;
19-
token: string;
20-
21-
constructor(project: Project, token: string) {
22-
this.project = project;
23-
this.token = token;
24-
}
18+
export class PublicAPI extends BaseAPI {
2519

2620
public createOrUpdateSuite(suite: TestSuite): Promise<TestSuite> {
2721
return sendPost(Endpoints.suite_create_or_update, undefined, suite, this.token, this.project.id);

e2e/specs/api/api.constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ class ApiResponseErrors {
2323
public missedTestId = `You should specify 'test_id'`;
2424
public missedTestRunId = `You should specify 'test_run_id'`;
2525
public missedFinalResultId = `You should specify 'final_result_id' - Failed: 1, Passed: 2, Not Executed: 3, Pending: 5.`;
26-
public entityWithIdDoesNotExist = `Entity with specified id does not exist!`;
2726
// tslint:disable-next-line: quotemark
2827
public missedSuites = "You should specify 'suites' array with single suite like `[{id: test_suite_id}]`";
2928
public anonymousNotAllowedToViewTestSuites = this.anonymousNotAllowedToView('Test Suites');
3029
public anonymousNotAllowedToViewTests = this.anonymousNotAllowedToView('Tests');
3130
public anonymousNotAllowedToViewTestResults = this.anonymousNotAllowedToView('Test Results');
3231
public anonymousNotAllowedToCreateTestRun = this.anonymousNotAllowedToCreate('Test Run');
32+
public entityWithIdDoesNotExist = (id: number) => `Entity with specified '${id}' id does not exist!`;
3333

3434
private anonymousNotAllowedToView(entity: string) {
3535
return `[Permissions anonymous]: Account is not allowed to view ${entity}`;

0 commit comments

Comments
 (0)