Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ describe('Consortia', () => {
'C387512 Affiliation in central tenant is automatically added after creating user in the member tenant (consortia) (thunderjet)',
{ tags: ['smokeECS', 'thunderjet', 'C387512'] },
() => {
Users.createViaUi(testUser).then((id) => {
Users.createViaUi(testUser, { isKeycloak: true }).then((id) => {
testUser.id = id;
});
ConsortiumManager.switchActiveAffiliation(tenantNames.college, tenantNames.central);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ import ConsortiumManager from '../../support/fragments/settings/consortium-manag
import SettingsMenu from '../../support/fragments/settingsMenu';
import Users from '../../support/fragments/users/users';

const targetTenantName = tenantNames.university;
const targetTenantCode = tenantCodes.university;
const targetTenantAffiliation = Affiliations.University;

describe('Consortia', () => {
const character151 =
'Beyond the horizon, a world of possibilities awaits. Embrace the journey, learn from challenges, and celebrate every small victory along the way.1234567';
Expand Down Expand Up @@ -40,27 +44,24 @@ describe('Consortia', () => {
{ tags: ['smokeECS', 'thunderjet', 'C380515'] },
() => {
ConsortiumManager.selectMembership();
ConsortiumManager.editTenant(tenantNames.professional);
ConsortiumManager.editTenantInformation(
`${tenantCodes.professional}E`,
`${tenantNames.professional}-Edited`,
);
ConsortiumManager.editTenant(targetTenantName);
ConsortiumManager.editTenantInformation(`${targetTenantCode}E`, `${targetTenantName}-Edited`);
ConsortiumManager.saveEditingTenantInformation();
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList([
`${tenantCodes.professional}E`,
`${tenantNames.professional}-Edited`,
Affiliations.Professional,
`${targetTenantCode}E`,
`${targetTenantName}-Edited`,
targetTenantAffiliation,
]);
ConsortiumManager.editTenant(tenantNames.professional);
ConsortiumManager.editTenantInformation(tenantCodes.professional, tenantNames.professional);
ConsortiumManager.editTenant(targetTenantName);
ConsortiumManager.editTenantInformation(targetTenantCode, targetTenantName);
ConsortiumManager.saveEditingTenantInformation();
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList([
tenantCodes.professional,
tenantNames.professional,
Affiliations.Professional,
targetTenantCode,
targetTenantName,
targetTenantAffiliation,
]);
ConsortiumManager.editTenant(tenantNames.professional);
ConsortiumManager.editTenantInformation(`${tenantCodes.professional}-ED`, character151);
ConsortiumManager.editTenant(targetTenantName);
ConsortiumManager.editTenantInformation(`${targetTenantCode}-Edited`, character151);
ConsortiumManager.checkErrorsInEditedTenantInformation(tenantErrors.code, tenantErrors.name);

ConsortiumManager.cancelEditingTenantInformation();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,49 +1,59 @@
import Permissions from '../../support/dictionary/permissions';
import Affiliations, { tenantNames } from '../../support/dictionary/affiliations';
import Users from '../../support/fragments/users/users';
import TopMenu from '../../support/fragments/topMenu';
import Permissions from '../../support/dictionary/permissions';
import ConsortiumManager from '../../support/fragments/settings/consortium-manager/consortium-manager';
import TopMenu from '../../support/fragments/topMenu';
import Users from '../../support/fragments/users/users';
import { ExecutionFlowManager } from '../../support/utils';

const R = {
USER: 'user',
};

const initialNavigationOptions = {
path: TopMenu.usersPath,
waiter: Users.waitLoading,
};

const assignUserToAffiliationByAdmin = (flow) => {
cy.logout();
cy.resetTenant();
cy.getAdminToken();
cy.assignAffiliationToUser(Affiliations.College, flow.get(R.USER).userId);
cy.login(flow.get(R.USER).username, flow.get(R.USER).password, initialNavigationOptions);
};

describe('Consortia', () => {
let user;
const flow = new ExecutionFlowManager();

before(() => {
cy.getAdminToken();
cy.createTempUser([
Permissions.consortiaSettingsConsortiaAffiliationsEdit.gui,
Permissions.uiUserCanAssignUnassignPermissions.gui,
Permissions.uiUserEdit.gui,
Permissions.uiUsersPermissionsView.gui,
Permissions.uiUsersView.gui,
]).then((userProperties) => {
flow.set(R.USER, userProperties, (user) => Users.deleteViaApi(user.userId));
cy.login(userProperties.username, userProperties.password, initialNavigationOptions);
});
});

after('Delete users, data', () => {
cy.resetTenant();
cy.getAdminToken();
Users.deleteViaApi(user.userId);
flow.cleanup();
});

it(
'C388499 "Switch active affiliation" option is NOT displayed when a user has only one assigned affiliation (consortia) (thunderjet)',
{ tags: ['criticalPathECS', 'thunderjet', 'C388499'] },
() => {
cy.createTempUser([
Permissions.consortiaSettingsConsortiaAffiliationsEdit.gui,
Permissions.uiUserCanAssignUnassignPermissions.gui,
Permissions.uiUserEdit.gui,
Permissions.uiUsersPermissionsView.gui,
Permissions.uiUsersView.gui,
])
.then((userProperties) => {
user = userProperties;
cy.login(user.username, user.password, {
path: TopMenu.usersPath,
waiter: Users.waitLoading,
});
cy.wait(8000);
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.central);
ConsortiumManager.switchActiveAffiliationIsAbsent();
})
.then(() => {
cy.getAdminToken();
cy.assignAffiliationToUser(Affiliations.College, user.userId);
cy.setTenant(Affiliations.College);
});
cy.reload();
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.central);
ConsortiumManager.switchActiveAffiliationIsAbsent();

assignUserToAffiliationByAdmin(flow);

ConsortiumManager.switchActiveAffiliationExists();
ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.college);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ export default {
isDefaultSearchParamsRequired: false,
}),
verifyConsortiumAlternativeTitleTypesInTheList({ name, source = 'consortium', actions = [] }) {
const row = MultiColumnListRow({ content: including(name) });
const row = MultiColumnListRow({
content: including(name),
isContainer: false,
});
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
cy.expect([
row.exists(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@ export default {
source = 'consortium',
actions = [],
}) {
const row = MultiColumnListRow({ content: including(name) });
const row = MultiColumnListRow({
content: including(name),
isContainer: false,
});
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
cy.expect([
row.exists(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ export default {
isDefaultSearchParamsRequired: false,
}),
verifyConsortiumInstanceNoteTypesInTheList({ name, source = 'consortium', actions = [] }) {
const row = MultiColumnListRow({ content: including(name) });
const row = MultiColumnListRow({
content: including(name),
isContainer: false,
});
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
cy.expect([
row.exists(),
Expand All @@ -51,7 +54,10 @@ export default {
},

verifyLocalInstanceNoteTypesInTheList({ name, source = 'local', actions = [] }) {
const row = MultiColumnListRow({ content: including(name) });
const row = MultiColumnListRow({
content: including(name),
isContainer: false,
});
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
cy.expect([
row.exists(),
Expand Down Expand Up @@ -83,7 +89,7 @@ export default {

clickTrashButtonForInstanceNoteTypes(name) {
cy.do([
MultiColumnListRow({ content: including(name) })
MultiColumnListRow({ content: including(name), isContainer: false })
.find(MultiColumnListCell({ columnIndex: 3 }))
.find(Button({ icon: 'trash' }))
.click(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ export default {
isDefaultSearchParamsRequired: false,
}),
verifyConsortiumModesOfIssuancesInTheList({ name, source = 'consortium', actions = [] }) {
const row = MultiColumnListRow({ content: including(name) });
const row = MultiColumnListRow({
content: including(name),
isContainer: false,
});
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
cy.expect([
row.exists(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ export default {
failOnStatusCode: !ignoreErrors,
}),
verifyConsortiumNatureOfContentInTheList({ name, source = 'consortium', actions = [] }) {
const row = MultiColumnListRow({ content: including(name) });
const row = MultiColumnListRow({
content: including(name),
isContainer: false,
});
const actionsCell = MultiColumnListCell({ columnIndex: 3 });
cy.expect([
row.exists(),
Expand Down
8 changes: 7 additions & 1 deletion cypress/support/fragments/users/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
TextField,
} from '../../../../interactors';
import getRandomPostfix from '../../utils/stringTools';
import UserEdit from './userEdit';

const userDetailsPane = Pane({ id: 'pane-userdetails' });
const contactInformationAccordion = Accordion('Contact information');
Expand Down Expand Up @@ -252,7 +253,7 @@ export default {
);
},

createViaUi: (userData) => {
createViaUi: (userData, { isKeycloak = false } = {}) => {
return cy
.do([
Section({ id: 'users-search-results-pane' })
Expand All @@ -273,6 +274,11 @@ export default {
.then(() => {
cy.wait(10000);
cy.do(Button({ id: 'clickable-save' }).click());

if (isKeycloak) {
UserEdit.checkPromoteUserModal(userData.personal?.lastName);
UserEdit.clickConfirmInPromoteUserModal();
}
})
.then(() => {
cy.intercept('/users').as('user');
Expand Down
Loading