Skip to content

Commit ad423a3

Browse files
Avoid using of full permissions user
1 parent 0fb1213 commit ad423a3

24 files changed

+93
-43
lines changed

e2e/helpers/project.helper.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { projectView } from '../pages/project/view.po';
33
import { logIn } from '../pages/login.po';
44
import { Project } from '../../src/app/shared/models/project';
55
import { apiTokenAdministration } from '../pages/administration/apiToken.po';
6-
import { permissionsAdministration } from '../pages/administration/permissions.po';
76
import { User } from '../../src/app/shared/models/user';
87
import { logger } from '../utils/log.util';
98
import { Importer } from '../api/importer.api';
@@ -31,6 +30,7 @@ export class ProjectHelper {
3130
public publicAPI: PublicAPI;
3231
public adminAPI: UserAPI;
3332
private admin = usersTestData.admin;
33+
private disposed = false;
3434

3535
constructor(projectName?: string) {
3636
this.project = {
@@ -44,6 +44,7 @@ export class ProjectHelper {
4444
}
4545

4646
public async init(permissions?: { [key: string]: User; }, steps?: boolean) {
47+
this.ifDisposed();
4748
try {
4849
await logIn.logInAs(this.admin.user_name, this.admin.password);
4950
const authCookie = await browser.manage().getCookie('iio78');
@@ -67,15 +68,19 @@ export class ProjectHelper {
6768
}
6869

6970
public async openProject() {
71+
this.ifDisposed();
7072
await apiTokenAdministration.menuBar.clickLogo();
7173
return projectList.openProject(this.project.name);
7274
}
7375

7476
public async dispose() {
77+
this.ifDisposed();
7578
await this.adminAPI.removeProject(this.project);
79+
this.disposed = true;
7680
}
7781

7882
public generateBuilds = (count: number): { names: any, filenames: string[] } => {
83+
this.ifDisposed();
7984
const names = {};
8085
const filenames: string[] = [];
8186

@@ -96,4 +101,10 @@ export class ProjectHelper {
96101
await this.adminAPI.assigneProjectPermission(this.project, user, key as PermissionType);
97102
}
98103
}
104+
105+
private ifDisposed() {
106+
if(this.disposed){
107+
throw new Error(`'${this.project.name}' project was disposed! please create new project helper!`);
108+
}
109+
}
99110
}

e2e/specs/administration/apiToken.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { apiTokenAdministration } from '../../pages/administration/apiToken.po';
88
import { notFound } from '../../pages/notFound.po';
99

1010
const editorExamples = {
11-
admin: usersTestData.admin,
11+
admin: usersTestData.autoAdmin,
1212
localAdmin: usersTestData.localAdmin,
1313
localManager: usersTestData.localManager,
1414
manager: usersTestData.manager

e2e/specs/administration/appSettings.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ describe('Full Admin Administartion User Flow', () => {
1010
const userToCreate: User = users.patternTest;
1111

1212
beforeAll(async () => {
13-
await logIn.logInAs(users.admin.user_name, users.admin.password);
13+
await logIn.logInAs(users.autoAdmin.user_name, users.autoAdmin.password);
1414
return projectList.menuBar.administration();
1515
});
1616

e2e/specs/administration/permissions.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import projects from '../../data/projects.json';
1010
import { notFound } from '../../pages/notFound.po';
1111

1212
const editorExamples = {
13-
admin: usersTestData.admin,
13+
admin: usersTestData.autoAdmin,
1414
localAdmin: usersTestData.localAdmin,
1515
localManager: usersTestData.localManager,
1616
manager: usersTestData.manager
@@ -27,12 +27,13 @@ describe('Administartion:', () => {
2727

2828
beforeAll(async () => {
2929
await projectHelper.init({
30-
admin: usersTestData.admin,
30+
admin: usersTestData.autoAdmin,
3131
localAdmin: usersTestData.localAdmin,
3232
localManager: usersTestData.localManager,
3333
localEngineer: usersTestData.localEngineer,
3434
manager: usersTestData.manager
3535
});
36+
projectHelper.adminAPI.createUser(usersTestData.projectTemp);
3637
});
3738

3839
afterAll(async () => {

e2e/specs/administration/projectSettings/projectSettings.spec.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { notFound } from '../../../pages/notFound.po';
1414
import { Issue } from '../../../../src/app/shared/models/issue';
1515

1616
const editorExamples = {
17-
admin: usersTestData.admin,
17+
admin: usersTestData.autoAdmin,
1818
localAdmin: usersTestData.localAdmin,
1919
localManager: usersTestData.localManager,
2020
manager: usersTestData.manager
@@ -25,14 +25,15 @@ const notEditorExamples = {
2525
};
2626

2727
describe('Administartion: Project Settings:', () => {
28-
const projectHelper: ProjectHelper = new ProjectHelper();
28+
let projectHelper: ProjectHelper;
2929

3030
using(editorExamples, (user, description) => {
3131
describe(`Permissions: ${description} role:`, () => {
3232

3333
beforeAll(async () => {
3434
const projectUsers = {};
3535
projectUsers[description] = user;
36+
projectHelper = new ProjectHelper();
3637
await projectHelper.init(projectUsers);
3738
await logIn.logInAs(user.user_name, user.password);
3839
return projectHelper.openProject();
@@ -152,6 +153,7 @@ describe('Administartion: Project Settings:', () => {
152153
beforeAll(async () => {
153154
const projectUsers = {};
154155
projectUsers[description] = user;
156+
projectHelper = new ProjectHelper();
155157
await projectHelper.init(projectUsers);
156158
await logIn.logInAs(user.user_name, user.password);
157159
return projectHelper.openProject();

e2e/specs/administration/resolutions.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import resolutions from '../../data/resolutions.json';
1616

1717

1818
const editorExamples = {
19-
admin: usersTestData.admin,
19+
admin: usersTestData.autoAdmin,
2020
localAdmin: usersTestData.localAdmin,
2121
localManager: usersTestData.localManager,
2222
manager: usersTestData.manager

e2e/specs/administration/user.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ describe('Full Admin Administartion User Flow', () => {
3131
};
3232

3333
beforeAll(async () => {
34-
await logIn.logInAs(users.admin.user_name, users.admin.password);
34+
await logIn.logInAs(users.autoAdmin.user_name, users.autoAdmin.password);
3535
return projectList.menuBar.administration();
3636
});
3737

@@ -99,7 +99,7 @@ describe('Full Admin Administartion User Flow', () => {
9999
await logIn.logInAs(userToCreate.user_name, userToCreate.password);
100100
await expect(projectList.isOpened()).toBe(true, 'New user is not able to log in');
101101
await projectList.menuBar.clickLogOut();
102-
await logIn.logInAs(users.admin.user_name, users.admin.password);
102+
await logIn.logInAs(users.autoAdmin.user_name, users.autoAdmin.password);
103103
return projectList.menuBar.administration();
104104
});
105105
});
@@ -164,7 +164,7 @@ describe('Full Admin Administartion User Flow', () => {
164164
await logIn.logInAs(userToCreate.user_name, userToCreate.password);
165165
await expect(projectList.isOpened()).toBe(true, 'New user is not able to log in');
166166
await projectList.menuBar.clickLogOut();
167-
await logIn.logInAs(users.admin.user_name, users.admin.password);
167+
await logIn.logInAs(users.autoAdmin.user_name, users.autoAdmin.password);
168168
return projectList.menuBar.administration();
169169
});
170170
});

e2e/specs/audit/auditDashboard.spec.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { projectList } from '../../pages/project/list.po';
55
import { dateUtil } from '../../utils/date.util';
66
import using from 'jasmine-data-provider';
77
import users from '../../data/users.json';
8+
import { ProjectHelper } from '../../helpers/project.helper';
89

910
const editorExamples = {
1011
auditAdmin: users.auditAdmin,
@@ -26,6 +27,22 @@ const getLastSubmittedAuditsfileName = (): string => {
2627
};
2728

2829
describe('Audits Dashboard:', () => {
30+
const projectHelper = new ProjectHelper();
31+
32+
beforeAll(async () => {
33+
await projectHelper.init({
34+
auditAdmin: users.auditAdmin,
35+
manager: users.manager,
36+
autoAdmin: users.autoAdmin,
37+
viewer: users.viewer,
38+
coordinator: users.unitCoordinator
39+
});
40+
})
41+
42+
afterAll(async () => {
43+
await projectHelper.dispose();
44+
})
45+
2946
using(notEditorExamples, (user, description) => {
3047
describe(`${description} role:`, () => {
3148
it(`Is not available for role ${description}`, async () => {

e2e/specs/audit/auditFlow.spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ describe('Audit:', () => {
2323
const projectHelper: ProjectHelper = new ProjectHelper();
2424

2525
beforeAll(async () => {
26-
return projectHelper.init();
26+
return projectHelper.init({
27+
auditAdmin: usersTestData.auditAdmin,
28+
assignedAuditor: usersTestData.assignedAuditor
29+
});
2730
});
2831

2932
afterAll(async () => {

e2e/specs/import/importAddToLastTestRun.spec.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ describe('Import Test Run: Add to Last Testrun', () => {
2626
};
2727

2828
beforeAll(async () => {
29-
await projectHelper.init();
30-
await logIn.logInAs(users.admin.user_name, users.admin.password);
29+
await projectHelper.init({
30+
manager: users.manager
31+
});
32+
await logIn.logInAs(users.manager.user_name, users.manager.password);
3133
await projectHelper.openProject();
3234
});
3335

0 commit comments

Comments
 (0)