Skip to content

Commit

Permalink
Merge branch 'consortium_permissions' into FAT-10502-C405544
Browse files Browse the repository at this point in the history
  • Loading branch information
zentestuken committed Feb 6, 2024
2 parents c221d28 + 60c0198 commit 027335a
Show file tree
Hide file tree
Showing 5 changed files with 150 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import Permissions from '../../../support/dictionary/permissions';
import Users from '../../../support/fragments/users/users';
import ConsortiumManager from '../../../support/fragments/consortium-manager/consortiumManagerApp';
import SelectMembers from '../../../support/fragments/consortium-manager/modal/select-members';
import TopMenuNavigation from '../../../support/fragments/topMenuNavigation';
import Affiliations, { tenantNames } from '../../../support/dictionary/affiliations';

describe('Consortia', () => {
describe('Consortium manager', () => {
let userData;

before('Create users data', () => {
cy.getAdminToken();
cy.createTempUser([
Permissions.consortiaSettingsConsortiumManagerView.gui,
Permissions.uiUsersViewPermissionSets.gui,
])
.then((userProperties) => {
userData = userProperties;
})
.then(() => {
cy.assignAffiliationToUser(Affiliations.College, userData.userId);
cy.setTenant(Affiliations.College);
cy.assignPermissionsToExistingUser(userData.userId, [
Permissions.uiUsersViewPermissionSets.gui,
]);
cy.setTenant(Affiliations.Consortia);
cy.assignAffiliationToUser(Affiliations.University, userData.userId);
cy.setTenant(Affiliations.University);
cy.assignPermissionsToExistingUser(userData.userId, [
Permissions.uiUsersViewPermissionSets.gui,
]);
cy.login(userData.username, userData.password);
});
});

after('Delete users data', () => {
cy.loginAsAdmin();
Users.deleteViaApi(userData.userId);
});

it(
'C398014 User created in central tenant is able to view the list of permission sets of affiliated tenants in "Consortium manager" app (consortia) (thunderjet)',
{ tags: ['criticalPathECS', 'thunderjet'] },
() => {
TopMenuNavigation.navigateToApp('Consortium manager');
ConsortiumManager.verifyStatusOfConsortiumManager();
ConsortiumManager.clickSelectMembers();
SelectMembers.checkMember(tenantNames.central, false);
SelectMembers.checkMember(tenantNames.college, true);
SelectMembers.checkMember(tenantNames.university, true);
SelectMembers.saveAndClose();
ConsortiumManager.openListInSettings('Users');
ConsortiumManager.openListInOpenedPane('Users', 'Permission sets');
ConsortiumManager.openListInOpenedPane('Permission sets', 'folio_admin');
ConsortiumManager.collapseAll('folio_admin');
ConsortiumManager.expandAll('folio_admin');
ConsortiumManager.closeThirdPane('folio_admin');
ConsortiumManager.clickActionsInPermissionSets();
SelectMembers.selectMember(tenantNames.university);
ConsortiumManager.openListInOpenedPane('Permission sets', 'folio_migration');
ConsortiumManager.collapseAll('folio_migration');
ConsortiumManager.expandAll('folio_migration');
ConsortiumManager.closeThirdPane('folio_migration');
ConsortiumManager.clickActionsInPermissionSets();
},
);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,14 @@ describe('Inventory', () => {

after('Delete test data', () => {
cy.resetTenant();
cy.getAdminToken();
cy.setTenant(Affiliations.College);
cy.getCollegeAdminToken();
InventoryHoldings.deleteHoldingRecordViaApi(testData.instance.holdingId);
InventoryInstance.deleteInstanceViaApi(testData.instance.instanceId);
Locations.deleteViaApi(testData.location);
ServicePoints.deleteViaApi(testData.servicePoint.id);
cy.resetTenant();
cy.getAdminToken();
InventoryInstance.deleteInstanceViaApi(testData.instance.instanceId);
Users.deleteViaApi(user.userId);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ describe('Inventory', () => {
cy.getAdminToken();

cy.loginAsAdmin().then(() => {
ConsortiumManager.switchActiveAffiliation(tenantNames.college);
ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.college);
cy.visit(TopMenu.dataImportPath);
DataImport.verifyUploadState();
Expand Down Expand Up @@ -124,7 +124,7 @@ describe('Inventory', () => {
waiter: InventoryInstances.waitContentLoading,
});

ConsortiumManager.switchActiveAffiliation(tenantNames.college);
ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.college);

InventoryInstances.searchByTitle(testData.instanceId);
Expand Down Expand Up @@ -159,7 +159,7 @@ describe('Inventory', () => {
waiter: InventoryInstances.waitContentLoading,
});

ConsortiumManager.switchActiveAffiliation(tenantNames.college);
ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.college);

InventoryInstances.searchByTitle(testData.instanceId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import {
} from '../../../../interactors';

const selectMembersButton = Button('Select members');
const collapseAllButton = Button('Collapse all');
const expandAllButton = Button('Expand all');

export const settingsItems = {
circulation: 'Circulation',
Expand Down Expand Up @@ -88,6 +90,7 @@ export default {
clickSelectMembers() {
cy.expect(Spinner().absent());
cy.do(selectMembersButton.click());
cy.wait(4000);
},

chooseSecondMenuItem(item) {
Expand All @@ -98,4 +101,47 @@ export default {
HTML(including(item, { class: 'headline' })).exists(),
]);
},

openListInSettings(settingsListName) {
cy.do([
Section({ id: 'settings-nav-pane' }).find(NavListItem(settingsListName)).click(),
Pane(settingsListName).exists(),
]);
},

openListInOpenedPane(settingsListName, nameOfThirdPane) {
cy.do([
Pane(settingsListName).find(NavListItem(nameOfThirdPane)).click(),
Pane(nameOfThirdPane).exists(),
]);
},

collapseAll(nameOfThirdPane) {
cy.do([
Pane(nameOfThirdPane).find(collapseAllButton).click(),
collapseAllButton.absent(),
expandAllButton.exists(),
]);
},

expandAll(nameOfThirdPane) {
cy.do([
Pane(nameOfThirdPane).find(expandAllButton).click(),
expandAllButton.absent(),
collapseAllButton.exists(),
]);
},

closeThirdPane(nameOfThirdPane) {
cy.do([
Pane(nameOfThirdPane)
.find(Button({ icon: 'times' }))
.click(),
Pane(nameOfThirdPane).absent(),
]);
},

clickActionsInPermissionSets() {
cy.do([Pane('Permission sets').find(Button('Actions')).click(), Button('Compare').exists()]);
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
Pane,
Checkbox,
ListRow,
SelectionOption,
} from '../../../../../interactors';
import textField from '../../../../../interactors/text-field';
import ConsortiumManagerApp from '../consortiumManagerApp';
Expand Down Expand Up @@ -148,4 +149,30 @@ export default {
this.verifyModalCancelButtonEnabled();
this.verifyModalSaveButtonEnabled();
},

checkMember(tenantName, shouldBeChecked = true) {
cy.contains('div[class^="mclRow--"]', tenantName).within(() => {
cy.get('input[type="checkbox"]').then(($checkbox) => {
const isChecked = $checkbox.prop('checked');
if (shouldBeChecked && !isChecked) {
cy.wrap($checkbox).click();
} else if (!shouldBeChecked && isChecked) {
cy.wrap($checkbox).click();
}
});
});
},

selectMember(memberName) {
cy.do([
Button({ id: 'consortium-member-select' }).click(),
SelectionOption(memberName).click(),
]);
cy.wait(6000);
cy.get('button#consortium-member-select')
.invoke('text')
.then((actualText) => {
expect(actualText.trim()).to.equal(`Select control${memberName}`);
});
},
};

0 comments on commit 027335a

Please sign in to comment.