Skip to content

Commit ea84419

Browse files
authored
Fix broken tests (ECS) (#7466)
* Fix C380515 * Fix C387512 * Fix C400671 * Fix C388499
1 parent 2d49d48 commit ea84419

9 files changed

Lines changed: 87 additions & 52 deletions

cypress/e2e/consortia/affiliation-in-central-tenant-is-automatically-added.cy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ describe('Consortia', () => {
6969
'C387512 Affiliation in central tenant is automatically added after creating user in the member tenant (consortia) (thunderjet)',
7070
{ tags: ['smokeECS', 'thunderjet', 'C387512'] },
7171
() => {
72-
Users.createViaUi(testUser).then((id) => {
72+
Users.createViaUi(testUser, { isKeycloak: true }).then((id) => {
7373
testUser.id = id;
7474
});
7575
ConsortiumManager.switchActiveAffiliation(tenantNames.college, tenantNames.central);

cypress/e2e/consortia/edit-tenant-name-in-consortium-manager-settings.cy.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ import ConsortiumManager from '../../support/fragments/settings/consortium-manag
99
import SettingsMenu from '../../support/fragments/settingsMenu';
1010
import Users from '../../support/fragments/users/users';
1111

12+
const targetTenantName = tenantNames.university;
13+
const targetTenantCode = tenantCodes.university;
14+
const targetTenantAffiliation = Affiliations.University;
15+
1216
describe('Consortia', () => {
1317
const character151 =
1418
'Beyond the horizon, a world of possibilities awaits. Embrace the journey, learn from challenges, and celebrate every small victory along the way.1234567';
@@ -40,27 +44,24 @@ describe('Consortia', () => {
4044
{ tags: ['smokeECS', 'thunderjet', 'C380515'] },
4145
() => {
4246
ConsortiumManager.selectMembership();
43-
ConsortiumManager.editTenant(tenantNames.professional);
44-
ConsortiumManager.editTenantInformation(
45-
`${tenantCodes.professional}E`,
46-
`${tenantNames.professional}-Edited`,
47-
);
47+
ConsortiumManager.editTenant(targetTenantName);
48+
ConsortiumManager.editTenantInformation(`${targetTenantCode}E`, `${targetTenantName}-Edited`);
4849
ConsortiumManager.saveEditingTenantInformation();
4950
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList([
50-
`${tenantCodes.professional}E`,
51-
`${tenantNames.professional}-Edited`,
52-
Affiliations.Professional,
51+
`${targetTenantCode}E`,
52+
`${targetTenantName}-Edited`,
53+
targetTenantAffiliation,
5354
]);
54-
ConsortiumManager.editTenant(tenantNames.professional);
55-
ConsortiumManager.editTenantInformation(tenantCodes.professional, tenantNames.professional);
55+
ConsortiumManager.editTenant(targetTenantName);
56+
ConsortiumManager.editTenantInformation(targetTenantCode, targetTenantName);
5657
ConsortiumManager.saveEditingTenantInformation();
5758
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList([
58-
tenantCodes.professional,
59-
tenantNames.professional,
60-
Affiliations.Professional,
59+
targetTenantCode,
60+
targetTenantName,
61+
targetTenantAffiliation,
6162
]);
62-
ConsortiumManager.editTenant(tenantNames.professional);
63-
ConsortiumManager.editTenantInformation(`${tenantCodes.professional}-ED`, character151);
63+
ConsortiumManager.editTenant(targetTenantName);
64+
ConsortiumManager.editTenantInformation(`${targetTenantCode}-Edited`, character151);
6465
ConsortiumManager.checkErrorsInEditedTenantInformation(tenantErrors.code, tenantErrors.name);
6566

6667
ConsortiumManager.cancelEditingTenantInformation();

cypress/e2e/consortia/switch-active-affiliation-option-is-not-displayed.cy.js

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,59 @@
1-
import Permissions from '../../support/dictionary/permissions';
21
import Affiliations, { tenantNames } from '../../support/dictionary/affiliations';
3-
import Users from '../../support/fragments/users/users';
4-
import TopMenu from '../../support/fragments/topMenu';
2+
import Permissions from '../../support/dictionary/permissions';
53
import ConsortiumManager from '../../support/fragments/settings/consortium-manager/consortium-manager';
4+
import TopMenu from '../../support/fragments/topMenu';
5+
import Users from '../../support/fragments/users/users';
6+
import { ExecutionFlowManager } from '../../support/utils';
7+
8+
const R = {
9+
USER: 'user',
10+
};
11+
12+
const initialNavigationOptions = {
13+
path: TopMenu.usersPath,
14+
waiter: Users.waitLoading,
15+
};
16+
17+
const assignUserToAffiliationByAdmin = (flow) => {
18+
cy.logout();
19+
cy.resetTenant();
20+
cy.getAdminToken();
21+
cy.assignAffiliationToUser(Affiliations.College, flow.get(R.USER).userId);
22+
cy.login(flow.get(R.USER).username, flow.get(R.USER).password, initialNavigationOptions);
23+
};
624

725
describe('Consortia', () => {
8-
let user;
26+
const flow = new ExecutionFlowManager();
927

1028
before(() => {
1129
cy.getAdminToken();
30+
cy.createTempUser([
31+
Permissions.consortiaSettingsConsortiaAffiliationsEdit.gui,
32+
Permissions.uiUserCanAssignUnassignPermissions.gui,
33+
Permissions.uiUserEdit.gui,
34+
Permissions.uiUsersPermissionsView.gui,
35+
Permissions.uiUsersView.gui,
36+
]).then((userProperties) => {
37+
flow.set(R.USER, userProperties, (user) => Users.deleteViaApi(user.userId));
38+
cy.login(userProperties.username, userProperties.password, initialNavigationOptions);
39+
});
1240
});
1341

1442
after('Delete users, data', () => {
1543
cy.resetTenant();
1644
cy.getAdminToken();
17-
Users.deleteViaApi(user.userId);
45+
flow.cleanup();
1846
});
1947

2048
it(
2149
'C388499 "Switch active affiliation" option is NOT displayed when a user has only one assigned affiliation (consortia) (thunderjet)',
2250
{ tags: ['criticalPathECS', 'thunderjet', 'C388499'] },
2351
() => {
24-
cy.createTempUser([
25-
Permissions.consortiaSettingsConsortiaAffiliationsEdit.gui,
26-
Permissions.uiUserCanAssignUnassignPermissions.gui,
27-
Permissions.uiUserEdit.gui,
28-
Permissions.uiUsersPermissionsView.gui,
29-
Permissions.uiUsersView.gui,
30-
])
31-
.then((userProperties) => {
32-
user = userProperties;
33-
cy.login(user.username, user.password, {
34-
path: TopMenu.usersPath,
35-
waiter: Users.waitLoading,
36-
});
37-
cy.wait(8000);
38-
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.central);
39-
ConsortiumManager.switchActiveAffiliationIsAbsent();
40-
})
41-
.then(() => {
42-
cy.getAdminToken();
43-
cy.assignAffiliationToUser(Affiliations.College, user.userId);
44-
cy.setTenant(Affiliations.College);
45-
});
46-
cy.reload();
52+
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.central);
53+
ConsortiumManager.switchActiveAffiliationIsAbsent();
54+
55+
assignUserToAffiliationByAdmin(flow);
56+
4757
ConsortiumManager.switchActiveAffiliationExists();
4858
ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
4959
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.college);

cypress/support/fragments/settings/inventory/instances/alternativeTitleTypes.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ export default {
3434
isDefaultSearchParamsRequired: false,
3535
}),
3636
verifyConsortiumAlternativeTitleTypesInTheList({ name, source = 'consortium', actions = [] }) {
37-
const row = MultiColumnListRow({ content: including(name) });
37+
const row = MultiColumnListRow({
38+
content: including(name),
39+
isContainer: false,
40+
});
3841
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
3942
cy.expect([
4043
row.exists(),

cypress/support/fragments/settings/inventory/instances/classificationIdentifierTypes.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ export default {
5757
source = 'consortium',
5858
actions = [],
5959
}) {
60-
const row = MultiColumnListRow({ content: including(name) });
60+
const row = MultiColumnListRow({
61+
content: including(name),
62+
isContainer: false,
63+
});
6164
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
6265
cy.expect([
6366
row.exists(),

cypress/support/fragments/settings/inventory/instances/instanceNoteTypes.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ export default {
3030
isDefaultSearchParamsRequired: false,
3131
}),
3232
verifyConsortiumInstanceNoteTypesInTheList({ name, source = 'consortium', actions = [] }) {
33-
const row = MultiColumnListRow({ content: including(name) });
33+
const row = MultiColumnListRow({
34+
content: including(name),
35+
isContainer: false,
36+
});
3437
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
3538
cy.expect([
3639
row.exists(),
@@ -51,7 +54,10 @@ export default {
5154
},
5255

5356
verifyLocalInstanceNoteTypesInTheList({ name, source = 'local', actions = [] }) {
54-
const row = MultiColumnListRow({ content: including(name) });
57+
const row = MultiColumnListRow({
58+
content: including(name),
59+
isContainer: false,
60+
});
5561
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
5662
cy.expect([
5763
row.exists(),
@@ -83,7 +89,7 @@ export default {
8389

8490
clickTrashButtonForInstanceNoteTypes(name) {
8591
cy.do([
86-
MultiColumnListRow({ content: including(name) })
92+
MultiColumnListRow({ content: including(name), isContainer: false })
8793
.find(MultiColumnListCell({ columnIndex: 3 }))
8894
.find(Button({ icon: 'trash' }))
8995
.click(),

cypress/support/fragments/settings/inventory/instances/modesOfIssuance.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ export default {
3030
isDefaultSearchParamsRequired: false,
3131
}),
3232
verifyConsortiumModesOfIssuancesInTheList({ name, source = 'consortium', actions = [] }) {
33-
const row = MultiColumnListRow({ content: including(name) });
33+
const row = MultiColumnListRow({
34+
content: including(name),
35+
isContainer: false,
36+
});
3437
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
3538
cy.expect([
3639
row.exists(),

cypress/support/fragments/settings/inventory/instances/natureOfContent.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ export default {
4848
failOnStatusCode: !ignoreErrors,
4949
}),
5050
verifyConsortiumNatureOfContentInTheList({ name, source = 'consortium', actions = [] }) {
51-
const row = MultiColumnListRow({ content: including(name) });
51+
const row = MultiColumnListRow({
52+
content: including(name),
53+
isContainer: false,
54+
});
5255
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
5356
cy.expect([
5457
row.exists(),

cypress/support/fragments/users/users.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
TextField,
2121
} from '../../../../interactors';
2222
import getRandomPostfix from '../../utils/stringTools';
23+
import UserEdit from './userEdit';
2324

2425
const userDetailsPane = Pane({ id: 'pane-userdetails' });
2526
const contactInformationAccordion = Accordion('Contact information');
@@ -252,7 +253,7 @@ export default {
252253
);
253254
},
254255

255-
createViaUi: (userData) => {
256+
createViaUi: (userData, { isKeycloak = false } = {}) => {
256257
return cy
257258
.do([
258259
Section({ id: 'users-search-results-pane' })
@@ -273,6 +274,11 @@ export default {
273274
.then(() => {
274275
cy.wait(10000);
275276
cy.do(Button({ id: 'clickable-save' }).click());
277+
278+
if (isKeycloak) {
279+
UserEdit.checkPromoteUserModal(userData.personal?.lastName);
280+
UserEdit.clickConfirmInPromoteUserModal();
281+
}
276282
})
277283
.then(() => {
278284
cy.intercept('/users').as('user');

0 commit comments

Comments
 (0)