diff --git a/cypress/e2e/bulk-edit/logs/csv/bulk-edit-logs-csv-users-view-permission.cy.js b/cypress/e2e/bulk-edit/logs/csv/bulk-edit-logs-csv-users-view-permission.cy.js index fcb244a9a7..50d57e94d3 100644 --- a/cypress/e2e/bulk-edit/logs/csv/bulk-edit-logs-csv-users-view-permission.cy.js +++ b/cypress/e2e/bulk-edit/logs/csv/bulk-edit-logs-csv-users-view-permission.cy.js @@ -47,7 +47,8 @@ describe('bulk-edit', () => { ); }); - it( + // Test case Not applicable for eureka + it.skip( 'C380562 Verify generated Logs files for Users CSV are hidden without "Users: Can view user profile" permission (firebird)', { tags: ['criticalPath', 'firebird', 'C380562'] }, () => { diff --git a/cypress/e2e/bulk-edit/permissions/bulk-edit-export-manager-permissions.cy.js b/cypress/e2e/bulk-edit/permissions/bulk-edit-export-manager-permissions.cy.js index 09f02a06c8..642e6eb931 100644 --- a/cypress/e2e/bulk-edit/permissions/bulk-edit-export-manager-permissions.cy.js +++ b/cypress/e2e/bulk-edit/permissions/bulk-edit-export-manager-permissions.cy.js @@ -52,7 +52,8 @@ describe('bulk-edit', () => { FileManager.deleteFileFromDownloadsByMask(matchedRecordsFileName); }); - it( + // Test case Not applicable for eureka + it.skip( 'C353978 Verify that user can view data in Export Manager based on permissions (Negative) (firebird)', { tags: ['criticalPath', 'firebird', 'C353978'] }, () => { diff --git a/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-holdings-permissions.cy.js b/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-holdings-permissions.cy.js index b97ce63b07..de93d263e8 100644 --- a/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-holdings-permissions.cy.js +++ b/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-holdings-permissions.cy.js @@ -34,7 +34,8 @@ describe('bulk-edit', () => { Users.deleteViaApi(user.userId); }); - it( + // Test case Not applicable for eureka + it.skip( 'C413373 Verify Query tab permissions (In app holdings) (firebird)', { tags: ['extendedPath', 'firebird', 'C413373'] }, () => { diff --git a/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-items-permissions.cy.js b/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-items-permissions.cy.js index f28ab1b5c1..aed8ea3459 100644 --- a/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-items-permissions.cy.js +++ b/cypress/e2e/bulk-edit/permissions/bulk-edit-in-app-query-tab-items-permissions.cy.js @@ -35,7 +35,8 @@ describe('bulk-edit', () => { Users.deleteViaApi(user.userId); }); - it( + // Test case Not applicable for eureka + it.skip( 'C376991 Verify Query tab permissions (In app items) (firebird)', { tags: ['criticalPath', 'firebird', 'C376991'] }, () => { diff --git a/cypress/e2e/bulk-edit/permissions/bulk-edit-query-instances-holdings-items.cy.js b/cypress/e2e/bulk-edit/permissions/bulk-edit-query-instances-holdings-items.cy.js index 3dac898464..60269bac02 100644 --- a/cypress/e2e/bulk-edit/permissions/bulk-edit-query-instances-holdings-items.cy.js +++ b/cypress/e2e/bulk-edit/permissions/bulk-edit-query-instances-holdings-items.cy.js @@ -12,7 +12,8 @@ import { APPLICATION_NAMES } from '../../../support/constants'; let firstUser; let secondUser; -describe('bulk-edit', () => { +// Test cases Not applicable for eureka +describe.skip('bulk-edit', () => { describe('permissions', () => { before('create test data', () => { cy.createTempUser([ diff --git a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-duplicate-notes-in-central-tenant.cy.js b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-duplicate-notes-in-central-tenant.cy.js index 049528c7ee..7fe2c7a1a4 100644 --- a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-duplicate-notes-in-central-tenant.cy.js +++ b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-duplicate-notes-in-central-tenant.cy.js @@ -19,6 +19,7 @@ import { APPLICATION_NAMES, BULK_EDIT_TABLE_COLUMN_HEADERS, ITEM_STATUS_NAMES, + LOAN_TYPE_NAMES, } from '../../../../support/constants'; import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; @@ -75,7 +76,7 @@ describe('Bulk-edit', () => { cy.getLocations({ query: 'name="DCB"' }).then((res) => { locationId = res.id; }); - cy.getLoanTypes({ limit: 1 }).then((res) => { + cy.getLoanTypes({ query: `name="${LOAN_TYPE_NAMES.CAN_CIRCULATE}"` }).then((res) => { loanTypeId = res[0].id; }); cy.getMaterialTypes({ limit: 1 }).then((res) => { diff --git a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-replace-with-action.cy.js b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-replace-with-action.cy.js index 7f332da1ec..091b7265cd 100644 --- a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-replace-with-action.cy.js +++ b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-replace-with-action.cy.js @@ -26,6 +26,7 @@ import { APPLICATION_NAMES, BULK_EDIT_TABLE_COLUMN_HEADERS, ITEM_STATUS_NAMES, + LOAN_TYPE_NAMES, } from '../../../../support/constants'; import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; @@ -95,7 +96,7 @@ describe('Bulk-edit', () => { cy.getLocations({ query: 'name="DCB"' }).then((res) => { locationId = res.id; }); - cy.getLoanTypes({ limit: 1 }).then((res) => { + cy.getLoanTypes({ query: `name="${LOAN_TYPE_NAMES.CAN_CIRCULATE}"` }).then((res) => { loanTypeId = res[0].id; }); cy.getMaterialTypes({ limit: 1 }).then((res) => { diff --git a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-staff-only-notes-in-central.cy.js b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-staff-only-notes-in-central.cy.js index a34178f52e..a58e58a4cd 100644 --- a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-staff-only-notes-in-central.cy.js +++ b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-staff-only-notes-in-central.cy.js @@ -22,6 +22,7 @@ import { APPLICATION_NAMES, BULK_EDIT_TABLE_COLUMN_HEADERS, ITEM_STATUS_NAMES, + LOAN_TYPE_NAMES, } from '../../../../support/constants'; import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; @@ -104,7 +105,7 @@ describe('Bulk-edit', () => { cy.getLocations({ query: 'name="DCB"' }).then((res) => { locationId = res.id; }); - cy.getLoanTypes({ limit: 1 }).then((res) => { + cy.getLoanTypes({ query: `name="${LOAN_TYPE_NAMES.CAN_CIRCULATE}"` }).then((res) => { loanTypeId = res[0].id; }); cy.getMaterialTypes({ limit: 1 }).then((res) => { diff --git a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-add-note-action-in-Central-tenant.cy.js b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-add-note-action-in-Central-tenant.cy.js index fda1e580a4..0cf0300411 100644 --- a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-add-note-action-in-Central-tenant.cy.js +++ b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-add-note-action-in-Central-tenant.cy.js @@ -22,6 +22,7 @@ import { APPLICATION_NAMES, BULK_EDIT_TABLE_COLUMN_HEADERS, ITEM_STATUS_NAMES, + LOAN_TYPE_NAMES, } from '../../../../support/constants'; import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; @@ -105,7 +106,7 @@ describe('Bulk-edit', () => { cy.getLocations({ query: 'name="DCB"' }).then((res) => { locationId = res.id; }); - cy.getLoanTypes({ limit: 1 }).then((res) => { + cy.getLoanTypes({ query: `name="${LOAN_TYPE_NAMES.CAN_CIRCULATE}"` }).then((res) => { loanTypeId = res[0].id; }); cy.getMaterialTypes({ limit: 1 }).then((res) => { diff --git a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-change-note-type-action-in-Central-tenant.cy.js b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-change-note-type-action-in-Central-tenant.cy.js index 66bfc708ce..db5388e00b 100644 --- a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-change-note-type-action-in-Central-tenant.cy.js +++ b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-change-note-type-action-in-Central-tenant.cy.js @@ -23,6 +23,7 @@ import { BULK_EDIT_TABLE_COLUMN_HEADERS, ITEM_STATUS_NAMES, ITEM_NOTE_TYPES, + LOAN_TYPE_NAMES, } from '../../../../support/constants'; import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; @@ -110,7 +111,7 @@ describe('Bulk-edit', () => { cy.getLocations({ query: 'name="DCB"' }).then((res) => { locationId = res.id; }); - cy.getLoanTypes({ limit: 1 }).then((res) => { + cy.getLoanTypes({ query: `name="${LOAN_TYPE_NAMES.CAN_CIRCULATE}"` }).then((res) => { loanTypeId = res[0].id; }); cy.getMaterialTypes({ limit: 1 }).then((res) => { diff --git a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-remove-all-notes-action-in-central-tenant.cy.js b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-remove-all-notes-action-in-central-tenant.cy.js index e604fec0c4..7775c47d95 100644 --- a/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-remove-all-notes-action-in-central-tenant.cy.js +++ b/cypress/e2e/consortia/bulk-edit/in-app/bulk-edit-in-app-items-verify-remove-all-notes-action-in-central-tenant.cy.js @@ -23,6 +23,7 @@ import { BULK_EDIT_TABLE_COLUMN_HEADERS, ITEM_STATUS_NAMES, ITEM_NOTE_TYPES, + LOAN_TYPE_NAMES, } from '../../../../support/constants'; import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; @@ -104,7 +105,7 @@ describe('Bulk-edit', () => { cy.getLocations({ query: 'name="DCB"' }).then((res) => { locationId = res.id; }); - cy.getLoanTypes({ limit: 1 }).then((res) => { + cy.getLoanTypes({ query: `name="${LOAN_TYPE_NAMES.CAN_CIRCULATE}"` }).then((res) => { loanTypeId = res[0].id; }); cy.getMaterialTypes({ limit: 1 }).then((res) => { diff --git a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-alternative-title-types/alternative-title-types-can-be-shared-regardless-permission-and-affiliation.cy.js b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-alternative-title-types/alternative-title-types-can-be-shared-regardless-permission-and-affiliation.cy.js index 73d7fcc9b7..14b6b68d0e 100644 --- a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-alternative-title-types/alternative-title-types-can-be-shared-regardless-permission-and-affiliation.cy.js +++ b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-alternative-title-types/alternative-title-types-can-be-shared-regardless-permission-and-affiliation.cy.js @@ -1,4 +1,3 @@ -import moment from 'moment'; import { calloutTypes } from '../../../../../../interactors'; import { getTestEntityValue } from '../../../../../support/utils/stringTools'; import ConsortiumManagerApp, { @@ -120,12 +119,6 @@ describe('Consortia', () => { name: alternativeTitleTypes4.name, }); ConsortiaControlledVocabularyPaneset.clickSave(); - const rowDataToCheck = [ - alternativeTitleTypes4.name, - 'consortium', - moment().format('l'), - 'All', - ]; ConfirmShare.waitLoadingConfirmShareToAll(alternativeTitleTypes4.name); ConfirmShare.clickConfirm(); @@ -135,10 +128,10 @@ describe('Consortia', () => { messages.noPermission(tenantNames.college), calloutTypes.error, ); - ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(alternativeTitleTypes4.name, [ - 'edit', - 'trash', - ]); + ConsortiaControlledVocabularyPaneset.verifyRecordInTheList( + alternativeTitleTypes4.name, + ['edit', 'trash'], + ); ConsortiaControlledVocabularyPaneset.createViaUi(true, alternativeTitleTypes5); ConsortiaControlledVocabularyPaneset.clickSave(); diff --git a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-classification-identifier-types/classification-identifier-type-can-be-shared-regardless-permission-and-affiliation.cy.js b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-classification-identifier-types/classification-identifier-type-can-be-shared-regardless-permission-and-affiliation.cy.js index d560844311..880b2e2be6 100644 --- a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-classification-identifier-types/classification-identifier-type-can-be-shared-regardless-permission-and-affiliation.cy.js +++ b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-classification-identifier-types/classification-identifier-type-can-be-shared-regardless-permission-and-affiliation.cy.js @@ -1,4 +1,3 @@ -import moment from 'moment'; import { calloutTypes } from '../../../../../../interactors'; import { getTestEntityValue } from '../../../../../support/utils/stringTools'; import ConsortiumManagerApp, { @@ -123,12 +122,6 @@ describe('Consortia', () => { name: classificationType4.name, }); ConsortiaControlledVocabularyPaneset.clickSave(); - const createdCIT = [ - classificationType4.name, - 'consortium', - moment().format('l'), - 'All', - ]; ConfirmShare.waitLoadingConfirmShareToAll(classificationType4.name); ConfirmShare.clickConfirm(); diff --git a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-instance-note-types/instance-note-types-can-be-shared-regardless-permission-and-affiliation.cy.js b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-instance-note-types/instance-note-types-can-be-shared-regardless-permission-and-affiliation.cy.js index 2ad483e363..0f8a880fbe 100644 --- a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-instance-note-types/instance-note-types-can-be-shared-regardless-permission-and-affiliation.cy.js +++ b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-instance-note-types/instance-note-types-can-be-shared-regardless-permission-and-affiliation.cy.js @@ -1,4 +1,3 @@ -import moment from 'moment'; import { calloutTypes } from '../../../../../../interactors'; import { getTestEntityValue } from '../../../../../support/utils/stringTools'; import ConsortiumManagerApp, { @@ -115,7 +114,6 @@ describe('Consortia', () => { name: instanceNote4.name, }); ConsortiaControlledVocabularyPaneset.clickSave(); - const createdCIT = [instanceNote4.name, 'consortium', moment().format('l'), 'All']; ConfirmShare.waitLoadingConfirmShareToAll(instanceNote4.name); ConfirmShare.clickConfirm(); diff --git a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-modes-of-issuance/modes-of-issuance-can-be-shared-regardless-permission-and-affiliation.cy.js b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-modes-of-issuance/modes-of-issuance-can-be-shared-regardless-permission-and-affiliation.cy.js index af8349c65c..9b49f214a6 100644 --- a/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-modes-of-issuance/modes-of-issuance-can-be-shared-regardless-permission-and-affiliation.cy.js +++ b/cypress/e2e/consortia/consortium-manager/manage-shared-settings/manage-shared-modes-of-issuance/modes-of-issuance-can-be-shared-regardless-permission-and-affiliation.cy.js @@ -1,4 +1,3 @@ -import moment from 'moment'; import { calloutTypes } from '../../../../../../interactors'; import { getTestEntityValue } from '../../../../../support/utils/stringTools'; import ConsortiumManagerApp, { @@ -115,7 +114,6 @@ describe('Consortia', () => { name: modesIssuance4.name, }); ConsortiaControlledVocabularyPaneset.clickSave(); - const createdCIT = [modesIssuance4.name, 'consortium', moment().format('l'), 'All']; ConfirmShare.waitLoadingConfirmShareToAll(modesIssuance4.name); ConfirmShare.clickConfirm(); diff --git a/cypress/e2e/data-export/display-list-of-settings-pages-permissions.cy.js b/cypress/e2e/data-export/display-list-of-settings-pages-permissions.cy.js index e974666708..8fc2434d85 100644 --- a/cypress/e2e/data-export/display-list-of-settings-pages-permissions.cy.js +++ b/cypress/e2e/data-export/display-list-of-settings-pages-permissions.cy.js @@ -25,7 +25,8 @@ describe('Data Export', () => { Users.deleteViaApi(user.userId); }); - it( + // Test case Not applicable for eureka + it.skip( 'C389473 Verify that "Settings (Data export): Can view only" permission is searchable and renamed (firebird) (Taas)', { tags: ['firebird', 'extendedPath', 'C389473'] }, () => { diff --git a/cypress/e2e/data-import/importing-marc-bib-files/update-tag-value-of-linked-marcBib-controlled-by-marcAuth.cy.js b/cypress/e2e/data-import/importing-marc-bib-files/update-tag-value-of-linked-marcBib-controlled-by-marcAuth.cy.js index 7c80379f34..85dbdaa62c 100644 --- a/cypress/e2e/data-import/importing-marc-bib-files/update-tag-value-of-linked-marcBib-controlled-by-marcAuth.cy.js +++ b/cypress/e2e/data-import/importing-marc-bib-files/update-tag-value-of-linked-marcBib-controlled-by-marcAuth.cy.js @@ -167,7 +167,7 @@ describe('Data Import', () => { .then(() => { TopMenuNavigation.openAppFromDropdown(APPLICATION_NAMES.INVENTORY); InventoryInstances.searchByTitle(createdAuthorityIDs[0]); - InventoryInstances.selectInstance(); + InventoryInstances.selectInstanceById(createdAuthorityIDs[0]); InventoryInstance.editMarcBibliographicRecord(); linkingTagAndValues.forEach((linking) => { QuickMarcEditor.clickLinkIconInTagField(linking.rowIndex); @@ -245,7 +245,7 @@ describe('Data Import', () => { { tags: ['extendedPath', 'spitfire', 'C374189'] }, () => { InventoryInstances.searchByTitle(createdAuthorityIDs[0]); - InventoryInstances.selectInstance(); + InventoryInstances.selectInstanceById(createdAuthorityIDs[0]); // download .csv file InventorySearchAndFilter.saveUUIDs(); ExportFile.downloadCSVFile(nameForCSVFile, 'SearchInstanceUUIDs*'); @@ -278,8 +278,8 @@ describe('Data Import', () => { Logs.verifyInstanceStatus(0, 3, RECORD_STATUSES.UPDATED); TopMenuNavigation.navigateToApp(APPLICATION_NAMES.INVENTORY); - InventoryInstances.searchByTitle(testData.instanceTitle); - InventoryInstances.selectInstance(); + InventoryInstances.searchByTitle(createdAuthorityIDs[0]); + InventoryInstances.selectInstanceById(createdAuthorityIDs[0]); InventoryInstance.checkAbsenceOfAuthorityIconInInstanceDetailPane('Contributor'); InventoryInstance.editMarcBibliographicRecord(); QuickMarcEditor.verifyTagFieldAfterUnlinking(...testData.updated110Field); diff --git a/cypress/e2e/eholdings/package/attach-package-to-existing-agreement.cy.js b/cypress/e2e/eholdings/package/attach-package-to-existing-agreement.cy.js index e156d6d390..6846e6ace9 100644 --- a/cypress/e2e/eholdings/package/attach-package-to-existing-agreement.cy.js +++ b/cypress/e2e/eholdings/package/attach-package-to-existing-agreement.cy.js @@ -19,9 +19,9 @@ describe('eHoldings', () => { before('Creating usera and creating data', () => { cy.createTempUser([ Permissions.uiAgreementsAgreementsEdit.gui, - Permissions.uiAgreementsSearchAndView, + Permissions.uiAgreementsSearchAndView.gui, Permissions.uieHoldingsRecordsEdit.gui, - Permissions.uiAgreementsSearch, + Permissions.uiAgreementsSearch.gui, ]) .then((createdUserProperties) => { testData.userProperties = createdUserProperties; diff --git a/cypress/e2e/eureka/consortia/users/assigned-roles-user-view-central-member.cy.js b/cypress/e2e/eureka/consortia/users/assigned-roles-user-view-central-member.cy.js new file mode 100644 index 0000000000..9b02f880c2 --- /dev/null +++ b/cypress/e2e/eureka/consortia/users/assigned-roles-user-view-central-member.cy.js @@ -0,0 +1,256 @@ +import Users from '../../../../support/fragments/users/users'; +import UsersCard from '../../../../support/fragments/users/usersCard'; +import UsersSearchPane from '../../../../support/fragments/users/usersSearchPane'; +import getRandomPostfix from '../../../../support/utils/stringTools'; +import AuthorizationRoles, { + SETTINGS_SUBSECTION_AUTH_ROLES, +} from '../../../../support/fragments/settings/authorization-roles/authorizationRoles'; +import TopMenu from '../../../../support/fragments/topMenu'; +import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; +import { APPLICATION_NAMES } from '../../../../support/constants'; +import Affiliations, { tenantNames } from '../../../../support/dictionary/affiliations'; +import ConsortiumManager from '../../../../support/fragments/settings/consortium-manager/consortium-manager'; + +describe('Eureka', () => { + describe('Users', () => { + describe('Consortia', () => { + const randomPostfix = getRandomPostfix(); + const testData = { + centralRoleNameA: `Role CA C514892 ${randomPostfix}`, + centralRoleNameB: `Role CB C514892 ${randomPostfix}`, + collegeRoleNameA: `Role M1A C514892 ${randomPostfix}`, + collegeRoleNameB: `Role M1B C514892 ${randomPostfix}`, + universityRoleNameA: `Role M2A C514892 ${randomPostfix}`, + universityRoleNameB: `Role M2B C514892 ${randomPostfix}`, + }; + + const capabSetsToAssign = [ + { type: 'Settings', resource: 'UI-Authorization-Roles Settings Admin', action: 'View' }, + { type: 'Data', resource: 'Roles Users', action: 'Manage' }, + { type: 'Data', resource: 'UI-Users', action: 'View' }, + ]; + + const capabsToAssign = [ + { type: 'Settings', resource: 'Settings Enabled', action: 'View' }, + { type: 'Data', resource: 'Consortia User-Tenants Collection', action: 'View' }, + ]; + + before('Create users, roles', () => { + cy.getAdminToken(); + cy.createTempUser([]).then((tempUserProperties) => { + cy.createTempUser([]).then((testUserProperties) => { + testData.tempUser = tempUserProperties; + testData.testUser = testUserProperties; + cy.assignAffiliationToUser(Affiliations.College, testData.tempUser.userId); + cy.assignAffiliationToUser(Affiliations.University, testData.tempUser.userId); + cy.assignAffiliationToUser(Affiliations.College, testData.testUser.userId); + cy.assignAffiliationToUser(Affiliations.University, testData.testUser.userId); + cy.assignCapabilitiesToExistingUser( + testData.tempUser.userId, + capabsToAssign, + capabSetsToAssign, + ); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.tempUser.userId, []); + cy.createAuthorizationRoleApi(testData.centralRoleNameA).then((roleCA) => { + testData.roleCAId = roleCA.id; + }); + cy.createAuthorizationRoleApi(testData.centralRoleNameB).then((roleCB) => { + testData.roleCBId = roleCB.id; + }); + // need to wait for user policy creation to finish + cy.wait(10000); + cy.setTenant(Affiliations.College); + cy.assignCapabilitiesToExistingUser( + testData.tempUser.userId, + capabsToAssign, + capabSetsToAssign, + ); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.tempUser.userId, []); + cy.createAuthorizationRoleApi(testData.collegeRoleNameA).then((roleM1A) => { + testData.roleM1AId = roleM1A.id; + }); + cy.createAuthorizationRoleApi(testData.collegeRoleNameB).then((roleM1B) => { + testData.roleM1BId = roleM1B.id; + }); + // need to wait for user policy creation to finish + cy.wait(10000); + cy.setTenant(Affiliations.University); + cy.assignCapabilitiesToExistingUser( + testData.tempUser.userId, + capabsToAssign, + capabSetsToAssign, + ); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.tempUser.userId, []); + cy.createAuthorizationRoleApi(testData.universityRoleNameA).then((roleM2A) => { + testData.roleM2AId = roleM2A.id; + }); + cy.createAuthorizationRoleApi(testData.universityRoleNameB).then((roleM2B) => { + testData.roleM2BId = roleM2B.id; + }); + }); + }); + }); + + before('Login', () => { + cy.resetTenant(); + cy.getAdminToken(); + if (Cypress.env('runAsAdmin')) cy.deleteRolesForUserApi(testData.testUser.userId); + cy.login(testData.tempUser.username, testData.tempUser.password, { + path: TopMenu.usersPath, + waiter: Users.waitLoading, + }); + UsersSearchPane.searchByUsername(testData.testUser.username); + }); + + after('Delete roles, users', () => { + cy.resetTenant(); + cy.getAdminToken(); + cy.deleteAuthorizationRoleApi(testData.roleCAId); + cy.deleteAuthorizationRoleApi(testData.roleCBId); + Users.deleteViaApi(testData.testUser.userId); + Users.deleteViaApi(testData.tempUser.userId); + cy.setTenant(Affiliations.College); + cy.deleteAuthorizationRoleApi(testData.roleM1AId); + cy.deleteAuthorizationRoleApi(testData.roleM1BId); + cy.setTenant(Affiliations.University); + cy.deleteAuthorizationRoleApi(testData.roleM2AId); + cy.deleteAuthorizationRoleApi(testData.roleM2BId); + }); + + it( + 'C514892 Assigned roles shown in user detailed view on Central, Member tenants (eureka)', + { tags: ['criticalPathECS', 'eureka', 'C514892'] }, + () => { + UsersSearchPane.selectUserFromList(testData.testUser.username); + cy.wait('@/authn/refresh', { timeout: 20000 }); + UsersCard.verifyUserRolesCounter('0'); + UsersCard.clickUserRolesAccordion(); + UsersCard.checkSelectedRolesAffiliation(tenantNames.central); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRolesAccordionEmpty(); + + TopMenuNavigation.navigateToApp( + APPLICATION_NAMES.SETTINGS, + SETTINGS_SUBSECTION_AUTH_ROLES, + ); + AuthorizationRoles.waitContentLoading(); + AuthorizationRoles.searchRole(testData.centralRoleNameA); + AuthorizationRoles.clickOnRoleName(testData.centralRoleNameA, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUser( + testData.testUser.lastName, + testData.testUser.firstName, + ); + AuthorizationRoles.searchRole(testData.centralRoleNameB); + AuthorizationRoles.clickOnRoleName(testData.centralRoleNameB, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUser( + testData.testUser.lastName, + testData.testUser.firstName, + ); + + TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS); + Users.waitLoading(); + UsersSearchPane.resetAllFilters(); + UsersSearchPane.searchByUsername(testData.testUser.username); + UsersSearchPane.selectUserFromList(testData.testUser.username); + UsersCard.verifyUserRolesCounter('2'); + UsersCard.clickUserRolesAccordion(); + UsersCard.verifyUserRoleNames([testData.centralRoleNameA, testData.centralRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRolesAccordionEmpty(); + + ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college); + Users.waitLoading(); + TopMenuNavigation.navigateToApp( + APPLICATION_NAMES.SETTINGS, + SETTINGS_SUBSECTION_AUTH_ROLES, + ); + AuthorizationRoles.waitContentLoading(); + AuthorizationRoles.searchRole(testData.collegeRoleNameA); + AuthorizationRoles.clickOnRoleName(testData.collegeRoleNameA, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUser( + testData.testUser.lastName, + testData.testUser.firstName, + ); + AuthorizationRoles.searchRole(testData.collegeRoleNameB); + AuthorizationRoles.clickOnRoleName(testData.collegeRoleNameB, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUser( + testData.testUser.lastName, + testData.testUser.firstName, + ); + + TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS); + Users.waitLoading(); + UsersSearchPane.searchByUsername(testData.testUser.username); + UsersSearchPane.clickOnUserRowContaining(testData.testUser.username); + UsersCard.verifyUserRolesCounter('2'); + UsersCard.clickUserRolesAccordion(); + UsersCard.checkSelectedRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRoleNames([testData.collegeRoleNameA, testData.collegeRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.central); + UsersCard.verifyUserRoleNames([testData.centralRoleNameA, testData.centralRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRolesAccordionEmpty(); + + ConsortiumManager.switchActiveAffiliation(tenantNames.college, tenantNames.university); + Users.waitLoading(); + TopMenuNavigation.navigateToApp( + APPLICATION_NAMES.SETTINGS, + SETTINGS_SUBSECTION_AUTH_ROLES, + ); + AuthorizationRoles.waitContentLoading(); + AuthorizationRoles.searchRole(testData.universityRoleNameA); + AuthorizationRoles.clickOnRoleName(testData.universityRoleNameA, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUser( + testData.testUser.lastName, + testData.testUser.firstName, + ); + AuthorizationRoles.searchRole(testData.universityRoleNameB); + AuthorizationRoles.clickOnRoleName(testData.universityRoleNameB, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUser( + testData.testUser.lastName, + testData.testUser.firstName, + ); + + TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS); + Users.waitLoading(); + UsersSearchPane.searchByUsername(testData.testUser.username); + UsersSearchPane.clickOnUserRowContaining(testData.testUser.username); + UsersCard.verifyUserRolesCounter('2'); + UsersCard.clickUserRolesAccordion(); + UsersCard.checkSelectedRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRoleNames([ + testData.universityRoleNameA, + testData.universityRoleNameB, + ]); + UsersCard.selectRolesAffiliation(tenantNames.central); + UsersCard.verifyUserRoleNames([testData.centralRoleNameA, testData.centralRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRoleNames([testData.collegeRoleNameA, testData.collegeRoleNameB]); + }, + ); + }); + }); +}); diff --git a/cypress/e2e/eureka/consortia/users/unassigned-roles-user-view-central-member.cy.js b/cypress/e2e/eureka/consortia/users/unassigned-roles-user-view-central-member.cy.js new file mode 100644 index 0000000000..72922043ad --- /dev/null +++ b/cypress/e2e/eureka/consortia/users/unassigned-roles-user-view-central-member.cy.js @@ -0,0 +1,225 @@ +import Users from '../../../../support/fragments/users/users'; +import UsersCard from '../../../../support/fragments/users/usersCard'; +import UsersSearchPane from '../../../../support/fragments/users/usersSearchPane'; +import getRandomPostfix from '../../../../support/utils/stringTools'; +import AuthorizationRoles, { + SETTINGS_SUBSECTION_AUTH_ROLES, +} from '../../../../support/fragments/settings/authorization-roles/authorizationRoles'; +import TopMenu from '../../../../support/fragments/topMenu'; +import TopMenuNavigation from '../../../../support/fragments/topMenuNavigation'; +import { APPLICATION_NAMES } from '../../../../support/constants'; +import Affiliations, { tenantNames } from '../../../../support/dictionary/affiliations'; +import ConsortiumManager from '../../../../support/fragments/settings/consortium-manager/consortium-manager'; + +describe('Eureka', () => { + describe('Users', () => { + describe('Consortia', () => { + const randomPostfix = getRandomPostfix(); + const testData = { + centralRoleNameA: `Role CA C514899 ${randomPostfix}`, + collegeRoleNameA: `Role M1A C514899 ${randomPostfix}`, + collegeRoleNameB: `Role M1B C514899 ${randomPostfix}`, + universityRoleNameA: `Role M2A C514899 ${randomPostfix}`, + }; + + const capabSetsToAssign = [ + { type: 'Settings', resource: 'UI-Authorization-Roles Settings Admin', action: 'View' }, + { type: 'Data', resource: 'Roles Users', action: 'Manage' }, + { type: 'Data', resource: 'UI-Users', action: 'View' }, + ]; + + const capabsToAssign = [ + { type: 'Settings', resource: 'Settings Enabled', action: 'View' }, + { type: 'Data', resource: 'Consortia User-Tenants Collection', action: 'View' }, + ]; + + before('Create users, roles', () => { + cy.getAdminToken(); + cy.createTempUser([]).then((tempUserProperties) => { + cy.createTempUser([]).then((testUserProperties) => { + testData.tempUser = tempUserProperties; + testData.testUser = testUserProperties; + cy.assignAffiliationToUser(Affiliations.College, testData.tempUser.userId); + cy.assignAffiliationToUser(Affiliations.University, testData.tempUser.userId); + cy.assignAffiliationToUser(Affiliations.College, testData.testUser.userId); + cy.assignAffiliationToUser(Affiliations.University, testData.testUser.userId); + cy.assignCapabilitiesToExistingUser( + testData.tempUser.userId, + capabsToAssign, + capabSetsToAssign, + ); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.tempUser.userId, []); + cy.createAuthorizationRoleApi(testData.centralRoleNameA).then((roleCA) => { + testData.roleCAId = roleCA.id; + }); + // need to wait for user policy creation to finish + cy.wait(10000); + cy.setTenant(Affiliations.College); + cy.assignCapabilitiesToExistingUser( + testData.tempUser.userId, + capabsToAssign, + capabSetsToAssign, + ); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.tempUser.userId, []); + cy.createAuthorizationRoleApi(testData.collegeRoleNameA).then((roleM1A) => { + testData.roleM1AId = roleM1A.id; + }); + cy.createAuthorizationRoleApi(testData.collegeRoleNameB).then((roleM1B) => { + testData.roleM1BId = roleM1B.id; + }); + // need to wait for user policy creation to finish + cy.wait(10000); + cy.setTenant(Affiliations.University); + cy.assignCapabilitiesToExistingUser( + testData.tempUser.userId, + capabsToAssign, + capabSetsToAssign, + ); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.tempUser.userId, []); + cy.createAuthorizationRoleApi(testData.universityRoleNameA).then((roleM2A) => { + testData.roleM2AId = roleM2A.id; + }); + }); + }); + }); + + before('Assign roles, login', () => { + cy.resetTenant(); + cy.getAdminToken(); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.testUser.userId, [testData.roleCAId]); + else cy.addRolesToNewUserApi(testData.testUser.userId, [testData.roleCAId]); + cy.wait(10000); + cy.setTenant(Affiliations.College); + if (Cypress.env('runAsAdmin')) { + cy.updateRolesForUserApi(testData.testUser.userId, [ + testData.roleM1AId, + testData.roleM1BId, + ]); + } else { + cy.addRolesToNewUserApi(testData.testUser.userId, [ + testData.roleM1AId, + testData.roleM1BId, + ]); + } + cy.wait(10000); + cy.setTenant(Affiliations.University); + if (Cypress.env('runAsAdmin')) cy.updateRolesForUserApi(testData.testUser.userId, [testData.roleM2AId]); + else cy.addRolesToNewUserApi(testData.testUser.userId, [testData.roleM2AId]); + cy.login(testData.tempUser.username, testData.tempUser.password, { + path: TopMenu.usersPath, + waiter: Users.waitLoading, + }); + UsersSearchPane.searchByUsername(testData.testUser.username); + }); + + after('Delete roles, users', () => { + cy.resetTenant(); + cy.getAdminToken(); + cy.deleteAuthorizationRoleApi(testData.roleCAId); + Users.deleteViaApi(testData.testUser.userId); + Users.deleteViaApi(testData.tempUser.userId); + cy.setTenant(Affiliations.College); + cy.deleteAuthorizationRoleApi(testData.roleM1AId); + cy.deleteAuthorizationRoleApi(testData.roleM1BId); + cy.setTenant(Affiliations.University); + cy.deleteAuthorizationRoleApi(testData.roleM2AId); + }); + + it( + 'C514899 Unassigned roles not shown in user detailed view on Central, Member tenants (eureka)', + { tags: ['criticalPathECS', 'eureka', 'C514899'] }, + () => { + UsersSearchPane.selectUserFromList(testData.testUser.username); + cy.wait('@/authn/refresh', { timeout: 20000 }); + UsersCard.verifyUserRolesCounter('1'); + UsersCard.clickUserRolesAccordion(); + UsersCard.checkSelectedRolesAffiliation(tenantNames.central); + UsersCard.verifyUserRoleNames([testData.centralRoleNameA]); + UsersCard.selectRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRoleNames([testData.collegeRoleNameA, testData.collegeRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRoleNames([testData.universityRoleNameA]); + + TopMenuNavigation.navigateToApp( + APPLICATION_NAMES.SETTINGS, + SETTINGS_SUBSECTION_AUTH_ROLES, + ); + AuthorizationRoles.waitContentLoading(); + AuthorizationRoles.searchRole(testData.centralRoleNameA); + AuthorizationRoles.clickOnRoleName(testData.centralRoleNameA, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username, false); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUsersAccordionEmpty(); + + TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS); + Users.waitLoading(); + UsersSearchPane.resetAllFilters(); + UsersSearchPane.searchByUsername(testData.testUser.username); + UsersSearchPane.selectUserFromList(testData.testUser.username); + UsersCard.verifyUserRolesCounter('0'); + UsersCard.clickUserRolesAccordion(); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRoleNames([testData.collegeRoleNameA, testData.collegeRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRoleNames([testData.universityRoleNameA]); + + ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college); + Users.waitLoading(); + TopMenuNavigation.navigateToApp( + APPLICATION_NAMES.SETTINGS, + SETTINGS_SUBSECTION_AUTH_ROLES, + ); + AuthorizationRoles.waitContentLoading(); + AuthorizationRoles.searchRole(testData.collegeRoleNameA); + AuthorizationRoles.clickOnRoleName(testData.collegeRoleNameA, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username, false); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUsersAccordionEmpty(); + + TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS); + Users.waitLoading(); + UsersSearchPane.searchByUsername(testData.testUser.username); + UsersSearchPane.clickOnUserRowContaining(testData.testUser.username); + UsersCard.verifyUserRolesCounter('1'); + UsersCard.clickUserRolesAccordion(); + UsersCard.checkSelectedRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRoleNames([testData.collegeRoleNameB]); + UsersCard.selectRolesAffiliation(tenantNames.central); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRoleNames([testData.universityRoleNameA]); + + ConsortiumManager.switchActiveAffiliation(tenantNames.college, tenantNames.university); + Users.waitLoading(); + TopMenuNavigation.navigateToApp( + APPLICATION_NAMES.SETTINGS, + SETTINGS_SUBSECTION_AUTH_ROLES, + ); + AuthorizationRoles.waitContentLoading(); + AuthorizationRoles.searchRole(testData.universityRoleNameA); + AuthorizationRoles.clickOnRoleName(testData.universityRoleNameA, false); + AuthorizationRoles.clickAssignUsersButton(); + AuthorizationRoles.selectUserInModal(testData.testUser.username, false); + AuthorizationRoles.clickSaveInAssignModal(); + AuthorizationRoles.verifyAssignedUsersAccordionEmpty(); + + TopMenuNavigation.navigateToApp(APPLICATION_NAMES.USERS); + Users.waitLoading(); + UsersSearchPane.searchByUsername(testData.testUser.username); + UsersSearchPane.clickOnUserRowContaining(testData.testUser.username); + UsersCard.verifyUserRolesCounter('0'); + UsersCard.clickUserRolesAccordion(); + UsersCard.checkSelectedRolesAffiliation(tenantNames.university); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.central); + UsersCard.verifyUserRolesAccordionEmpty(); + UsersCard.selectRolesAffiliation(tenantNames.college); + UsersCard.verifyUserRoleNames([testData.collegeRoleNameB]); + }, + ); + }); + }); +}); diff --git a/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-folio-authority-file.cy.js b/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-folio-authority-file.cy.js index fcbf8d4f03..fda3219ba5 100644 --- a/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-folio-authority-file.cy.js +++ b/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-folio-authority-file.cy.js @@ -97,6 +97,8 @@ describe('MARC', () => { MarcAuthority.contains(newFields[0].content); MarcAuthorities.closeMarcViewPane(); MarcAuthorities.verifyMarcViewPaneIsOpened(false); + // workaround for an issue when detailed view is not opened when using a filter after record creation - team won't fix it + cy.reload(); MarcAuthorities.checkRecordsResultListIsAbsent(); MarcAuthorities.searchBy(testData.searchOption, testData.marcValue); MarcAuthorities.checkAfterSearch(testData.AUTHORIZED, testData.marcValue); diff --git a/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-auth-file-with-default-prefix.cy.js b/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-auth-file-with-default-prefix.cy.js index ccc36bd5a7..97a7d15c16 100644 --- a/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-auth-file-with-default-prefix.cy.js +++ b/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-auth-file-with-default-prefix.cy.js @@ -115,7 +115,8 @@ describe('MARC', () => { // 7 Close the detail view pane by clicking on "X" icon placed in the left upper corner of the pane MarcAuthorities.closeMarcViewPane(); MarcAuthorities.verifyMarcViewPaneIsOpened(false); - + // workaround for an issue when detailed view is not opened when using a filter after record creation - team won't fix it + cy.reload(); // 8 Click on the "Authority source" multi select element in "Authority source" accordion placed on "Search & filter" pane MarcAuthorities.clickMultiSelectToggleButtonInAccordion('Authority source'); MarcAuthorities.checkAuthoritySourceDropdownHasOption(localAuthFile.name); diff --git a/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-authority-file.cy.js b/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-authority-file.cy.js index 874859f365..c98b0b0cc4 100644 --- a/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-authority-file.cy.js +++ b/cypress/e2e/marc/marc-authority/create-marc-authority/create-new-marcAuth-record-with-local-authority-file.cy.js @@ -119,6 +119,8 @@ describe('MARC', () => { // 7 Close the detail view pane by clicking on "X" icon placed in the left upper corner of the pane MarcAuthorities.closeMarcViewPane(); MarcAuthorities.verifyMarcViewPaneIsOpened(false); + // workaround for an issue when detailed view is not opened when using a filter after record creation - team won't fix it + cy.reload(); // 8 Click on the "Authority source" multi select element in "Authority source" accordion placed on "Search & filter" pane MarcAuthorities.clickMultiSelectToggleButtonInAccordion('Authority source'); diff --git a/cypress/e2e/marc/marc-authority/edit-authority-record/user-cannot-delete-value-from-$a-subfield-of-010-field-in-linked-record-when-010-$0.cy.js b/cypress/e2e/marc/marc-authority/edit-authority-record/user-cannot-delete-value-from-$a-subfield-of-010-field-in-linked-record-when-010-$0.cy.js index ec57c3409f..f7379861fd 100644 --- a/cypress/e2e/marc/marc-authority/edit-authority-record/user-cannot-delete-value-from-$a-subfield-of-010-field-in-linked-record-when-010-$0.cy.js +++ b/cypress/e2e/marc/marc-authority/edit-authority-record/user-cannot-delete-value-from-$a-subfield-of-010-field-in-linked-record-when-010-$0.cy.js @@ -22,7 +22,7 @@ describe('MARC', () => { keyword: 'Keyword', nameTitle: 'C376936 Roberts', }, - errorMessage: 'Cannot remove 010 $a for this record.', + errorMessage: 'Cannot delete 010. It is required.', bib700AfterLinkingToAuth100: [ 56, '700', @@ -152,12 +152,11 @@ describe('MARC', () => { QuickMarcEditor.pressSaveAndClose(); cy.wait(1500); QuickMarcEditor.pressSaveAndClose(); - - QuickMarcEditor.checkErrorMessage(4, testData.errorMessage); + QuickMarcEditor.checkCallout(testData.errorMessage); QuickMarcEditor.clickSaveAndKeepEditingButton(); cy.wait(1500); QuickMarcEditor.clickSaveAndKeepEditingButton(); - QuickMarcEditor.checkErrorMessage(4, testData.errorMessage); + QuickMarcEditor.checkCallout(testData.errorMessage); QuickMarcEditor.pressCancel(); MarcAuthorities.checkDetailViewIncludesText( `${testData.subfieldPrefix} ${testData.tag010content}`, diff --git a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/add-edit-$z-and-delete-$a-$z-in-010-field-of-linked-marcAuth-record-when-001-controls-$0.cy.js b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/add-edit-$z-and-delete-$a-$z-in-010-field-of-linked-marcAuth-record-when-001-controls-$0.cy.js index b02685f61d..0b85a9fbc1 100644 --- a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/add-edit-$z-and-delete-$a-$z-in-010-field-of-linked-marcAuth-record-when-001-controls-$0.cy.js +++ b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/add-edit-$z-and-delete-$a-$z-in-010-field-of-linked-marcAuth-record-when-001-controls-$0.cy.js @@ -161,8 +161,6 @@ describe('MARC', () => { tag010.inputContent.field010_2, ); QuickMarcEditor.checkButtonsEnabled(); - QuickMarcEditor.clickSaveAndKeepEditingButton(); - cy.wait(1500); QuickMarcEditor.pressSaveAndKeepEditing(testData.calloutMessage); QuickMarcEditor.checkContent(tag010.expectedContent.field010_2, tag010.rowIndex); @@ -172,16 +170,12 @@ describe('MARC', () => { ); QuickMarcEditor.checkContent(tag010.expectedContent.field010_3, tag010.rowIndex); QuickMarcEditor.checkButtonsEnabled(); - QuickMarcEditor.clickSaveAndKeepEditingButton(); - cy.wait(1500); QuickMarcEditor.pressSaveAndKeepEditing(testData.calloutMessage); QuickMarcEditor.checkContent(tag010.expectedContent.field010_3, tag010.rowIndex); cy.wait(3000); QuickMarcEditor.updateExistingFieldContent(4, tag010.inputContent.field010_4); QuickMarcEditor.checkButtonsEnabled(); - QuickMarcEditor.clickSaveAndKeepEditingButton(); - cy.wait(1500); QuickMarcEditor.pressSaveAndKeepEditing(testData.calloutMessage); QuickMarcEditor.checkContent(tag010.expectedContent.field010_1, tag010.rowIndex); @@ -191,8 +185,6 @@ describe('MARC', () => { ); QuickMarcEditor.checkButtonsEnabled(); QuickMarcEditor.checkContent(tag010.expectedContent.field010_4, tag010.rowIndex); - QuickMarcEditor.clickSaveAndKeepEditingButton(); - cy.wait(1500); QuickMarcEditor.pressSaveAndKeepEditing(testData.calloutMessage); QuickMarcEditor.checkContent(tag010.expectedContent.field010_4, tag010.rowIndex); diff --git a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/edit-010-value-adding-valid-prefix-in-$a-of-marc-auth-record-when-001-controls-$0-of-marc-bib.cy.js b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/edit-010-value-adding-valid-prefix-in-$a-of-marc-auth-record-when-001-controls-$0-of-marc-bib.cy.js index b74a384740..8d2e2bbfb2 100644 --- a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/edit-010-value-adding-valid-prefix-in-$a-of-marc-auth-record-when-001-controls-$0-of-marc-bib.cy.js +++ b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/edit-010-value-adding-valid-prefix-in-$a-of-marc-auth-record-when-001-controls-$0-of-marc-bib.cy.js @@ -40,7 +40,8 @@ describe('MARC', () => { const viewSourceData = [ 'Linked to MARC authority', '100', - '$0 http://id.loc.gov/authorities/names/n80036674 $9 26daa178-09b0-4a44-ac23-d76c2eda0091 $a C422066 Kerouac, Jack (001 has valid prefix), $d 1922-1969 $e author.', + '$0 http://id.loc.gov/authorities/names/n80036674', + '$a C422066 Kerouac, Jack (001 has valid prefix), $d 1922-1969 $e author.', ]; const marcFiles = [ diff --git a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-110-field-value-which-controls-marc-bib.cy.js b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-110-field-value-which-controls-marc-bib.cy.js index d0a0337575..8bab4b05fc 100644 --- a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-110-field-value-which-controls-marc-bib.cy.js +++ b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-110-field-value-which-controls-marc-bib.cy.js @@ -20,7 +20,7 @@ describe('MARC', () => { tagsForChanging: ['100', '101', '110', '111', '130', '150', '151', '155'], createdRecordIDs: [], searchOption: 'Keyword', - marcValue: 'Best, Pete,', + marcValue: 'C374139 Best, Pete,', errorMessageAfterChangingTag: 'Cannot change the saved MARC authority field 110 because it controls a bibliographic field(s). To change this 1XX, you must unlink all controlled bibliographic fields.', errorMessageAfterSaving: 'Record cannot be saved without 1XX field.', diff --git a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-subfield-0-controlled-field.cy.js b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-subfield-0-controlled-field.cy.js index c9073c8727..72050eb009 100644 --- a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-subfield-0-controlled-field.cy.js +++ b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-subfield-0-controlled-field.cy.js @@ -136,9 +136,9 @@ describe('MARC', () => { `Linked to MARC authority\n${marcFiles[1].valueAfterSave}`, ); InventoryInstance.viewSource(); - InventoryViewSource.contains( - 'Linked to MARC authority\n\t700\t1 \t$a C374157 Roberts, Julia, $d 1967- $e Actor. $0 http://id.loc.gov/authorities/names/n91074081', - ); + InventoryViewSource.contains('Linked to MARC authority\n\t700\t1 \t'); + InventoryViewSource.contains('$a C374157 Roberts, Julia, $d 1967- $e Actor.'); + InventoryViewSource.contains('$0 http://id.loc.gov/authorities/names/n91074081'); }, ); }); diff --git a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-update-of-010-update-bib-field-with-001.cy.js b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-update-of-010-update-bib-field-with-001.cy.js index dd8b210b4a..d843faefea 100644 --- a/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-update-of-010-update-bib-field-with-001.cy.js +++ b/cypress/e2e/marc/marc-authority/edit-linked-authority-record/marc-authority-edit-update-of-010-update-bib-field-with-001.cy.js @@ -17,14 +17,14 @@ describe('MARC', () => { tag100: '100', tag010: '010', tag010NewValue: '$a 00000912 $z n 2005070769', - authority100FieldValue: 'Erbil, H. Yıldırım', + authority100FieldValue: 'C376595 Auto Erbil, H. Yıldırım', searchOption: 'Keyword', linked100Field: [ 16, '100', '1', '\\', - '$a Erbil, H. Yıldırım', + '$a C376595 Auto Erbil, H. Yıldırım', '', '$0 http://id.loc.gov/authorities/names/n00000912', '', @@ -34,7 +34,7 @@ describe('MARC', () => { '100', '1', '\\', - '$a Erbil, H. Yıldırım', + '$a C376595 Auto Erbil, H. Yıldırım', '', '$0 http://id.loc.gov/authorities/names/n00000911', '', @@ -58,7 +58,7 @@ describe('MARC', () => { fileName: `C376595 testMarcFileC376595${getRandomPostfix()}.mrc`, jobProfileToRun: DEFAULT_JOB_PROFILE_NAMES.CREATE_AUTHORITY, propertyName: 'authority', - authorityHeading: 'Erbil, H. Yıldırım', + authorityHeading: 'C376595 Auto Erbil, H. Yıldırım', }, ]; @@ -67,6 +67,7 @@ describe('MARC', () => { before('Create test data', () => { cy.createTempUser([Permissions.moduleDataImportEnabled.gui]).then((userProperties) => { testData.preconditionUserId = userProperties.userId; + MarcAuthorities.deleteMarcAuthorityByTitleViaAPI('C376595*'); marcFiles.forEach((marcFile) => { DataImport.uploadFileViaApi( diff --git a/cypress/e2e/marc/marc-authority/reporting-marc-authority/marc-autority-reporting-updated-heading.cy.js b/cypress/e2e/marc/marc-authority/reporting-marc-authority/marc-autority-reporting-updated-heading.cy.js index 1e9c0f68cb..c2a4e0f1d5 100644 --- a/cypress/e2e/marc/marc-authority/reporting-marc-authority/marc-autority-reporting-updated-heading.cy.js +++ b/cypress/e2e/marc/marc-authority/reporting-marc-authority/marc-autority-reporting-updated-heading.cy.js @@ -31,7 +31,7 @@ describe('MARC', () => { updatedTag100Value: '$a C357220 Beethoven, Ludwig the Greatest, $d 1770-1827. $t Variations, $m piano, violin, cello, $n op. 44, $r E♭ major', title: - 'Beethoven, Ludwig van, 1770-1827. Variations, piano, violin, cello, op. 44, E♭ major', + 'C375220 Beethoven, Ludwig van, 1770-1827. Variations, piano, violin, cello, op. 44, E♭ major', }; const today = DateTools.getFormattedDate({ date: new Date() }, 'MM/DD/YYYY'); const todayWithoutPaddingZero = DateTools.clearPaddingZero(today); diff --git a/cypress/e2e/marc/marc-bibliographic/derive-marc-bib/manual-linking/derive-restore-deleted-and-saved-linked-field-of-marcBib-record-in-deriving-window.cy.js b/cypress/e2e/marc/marc-bibliographic/derive-marc-bib/manual-linking/derive-restore-deleted-and-saved-linked-field-of-marcBib-record-in-deriving-window.cy.js index 2d5e689f20..a43943f7a3 100644 --- a/cypress/e2e/marc/marc-bibliographic/derive-marc-bib/manual-linking/derive-restore-deleted-and-saved-linked-field-of-marcBib-record-in-deriving-window.cy.js +++ b/cypress/e2e/marc/marc-bibliographic/derive-marc-bib/manual-linking/derive-restore-deleted-and-saved-linked-field-of-marcBib-record-in-deriving-window.cy.js @@ -144,7 +144,7 @@ describe('MARC', () => { QuickMarcEditor.deleteField(32); QuickMarcEditor.afterDeleteNotification(testData.tag100); QuickMarcEditor.pressSaveAndClose(); - cy.wait(1500); + cy.wait(2000); QuickMarcEditor.clickSaveAndCloseThenCheck(1); QuickMarcEditor.checkDeletingFieldsModal(); QuickMarcEditor.clickRestoreDeletedField(); @@ -153,6 +153,8 @@ describe('MARC', () => { QuickMarcEditor.updateExistingField(testData.tag245, testData.tag245content); QuickMarcEditor.checkButtonSaveAndCloseEnable(); QuickMarcEditor.pressSaveAndClose(); + cy.wait(2000); + QuickMarcEditor.pressSaveAndClose(); QuickMarcEditor.checkCallout('Record created.'); InstanceRecordView.verifyInstancePaneExists(); InventoryInstance.verifyContributor( diff --git a/cypress/e2e/marc/marc-bibliographic/edit-marc-bib/manual-linking/user-can't-link-bibField240-with-wrong-record.cy.js b/cypress/e2e/marc/marc-bibliographic/edit-marc-bib/manual-linking/user-can't-link-bibField240-with-wrong-record.cy.js index b2edd032e0..27f38b79e5 100644 --- a/cypress/e2e/marc/marc-bibliographic/edit-marc-bib/manual-linking/user-can't-link-bibField240-with-wrong-record.cy.js +++ b/cypress/e2e/marc/marc-bibliographic/edit-marc-bib/manual-linking/user-can't-link-bibField240-with-wrong-record.cy.js @@ -160,6 +160,7 @@ describe('MARC', () => { QuickMarcEditor.checkCallout(testData.errorMessage); InventoryInstance.verifySelectMarcAuthorityModal(); MarcAuthorities.closeAuthoritySourceOption(); + MarcAuthorities.verifyNoSourceOptionsSelected(); }); }, ); diff --git a/cypress/e2e/settings/tenant/tenant-general-html-title.cy.js b/cypress/e2e/settings/tenant/tenant-general-html-title.cy.js index f3a6ea0c66..4c78874931 100644 --- a/cypress/e2e/settings/tenant/tenant-general-html-title.cy.js +++ b/cypress/e2e/settings/tenant/tenant-general-html-title.cy.js @@ -2,7 +2,6 @@ import { Permissions } from '../../../support/dictionary'; import { ServicePoints } from '../../../support/fragments/settings/tenant'; import Addresses from '../../../support/fragments/settings/tenant/general/addresses'; import Localication from '../../../support/fragments/settings/tenant/general/localication'; -import SSOSettings from '../../../support/fragments/settings/tenant/general/ssoSettings'; import TenantPane, { TENANTS } from '../../../support/fragments/settings/tenant/tenantPane'; import TopMenuNavigation from '../../../support/fragments/topMenuNavigation'; import Users from '../../../support/fragments/users/users'; @@ -73,10 +72,11 @@ describe('Tenant', () => { // Verify opened page title format: HTML page title is "Tenant settings - Preferred plugins - FOLIO" TenantPane.verifyPageTitle('Tenant settings - Preferred plugins - FOLIO'); // Click "SSO settings" option under "General" label - TenantPane.selectTenant(TENANTS.SSO_SETTINGS); - SSOSettings.waitLoading(); + // there is no SSO settings module in eureka env https://folio-org.atlassian.net/browse/EUREKA-480 + // TenantPane.selectTenant(TENANTS.SSO_SETTINGS); + // SSOSettings.waitLoading(); // Verify opened page title format: HTML page title is "Tenant settings - SSO settings - FOLIO" - TenantPane.verifyPageTitle('Tenant settings - SSO settings - FOLIO'); + // TenantPane.verifyPageTitle('Tenant settings - SSO settings - FOLIO'); // Click "Service points" option under "General" label TenantPane.selectTenant(TENANTS.SERVICE_POINTS); ServicePoints.waitLoading(); diff --git a/cypress/e2e/settings/tenant/tenant-view-general.cy.js b/cypress/e2e/settings/tenant/tenant-view-general.cy.js index 5d3519b6e7..78eff71f93 100644 --- a/cypress/e2e/settings/tenant/tenant-view-general.cy.js +++ b/cypress/e2e/settings/tenant/tenant-view-general.cy.js @@ -2,7 +2,6 @@ import { Permissions } from '../../../support/dictionary'; import { Locations, ServicePoints } from '../../../support/fragments/settings/tenant'; import Addresses from '../../../support/fragments/settings/tenant/general/addresses'; import Localication from '../../../support/fragments/settings/tenant/general/localication'; -import SSOSettings from '../../../support/fragments/settings/tenant/general/ssoSettings'; import TenantPane, { TENANTS } from '../../../support/fragments/settings/tenant/tenantPane'; import SettingsMenu from '../../../support/fragments/settingsMenu'; import Users from '../../../support/fragments/users/users'; @@ -70,9 +69,11 @@ describe('Settings: Tenant', () => { Localication.checkLockIcons(); // Click on "SSO settings" in the General subsection. - TenantPane.selectTenant(TENANTS.SSO_SETTINGS); - SSOSettings.waitLoading(); - SSOSettings.checkPaneContent(true); + + // There is no ""SSO settings" in eureka https://folio-org.atlassian.net/browse/EUREKA-480 + // TenantPane.selectTenant(TENANTS.SSO_SETTINGS); + // SSOSettings.waitLoading(); + // SSOSettings.checkPaneContent(true); // Click on "Service points" in the General subsection. TenantPane.selectTenant(TENANTS.SERVICE_POINTS); diff --git a/cypress/e2e/users/browse-permissions.cy.js b/cypress/e2e/users/browse-permissions.cy.js index 8aa19bc009..2b1c29dc3c 100644 --- a/cypress/e2e/users/browse-permissions.cy.js +++ b/cypress/e2e/users/browse-permissions.cy.js @@ -10,7 +10,8 @@ let user; let testUser_C350673; let testUser_C350674; -describe('Users', () => { +// Test cases Not applicable for eureka +describe.skip('Users', () => { before('create test users', () => { cy.createTempUser([]).then((userProperties) => { testUser_C350673 = userProperties; diff --git a/cypress/fixtures/marcAuthFileC374139.mrc b/cypress/fixtures/marcAuthFileC374139.mrc index 2367850925..cad631df3b 100644 --- a/cypress/fixtures/marcAuthFileC374139.mrc +++ b/cypress/fixtures/marcAuthFileC374139.mrc @@ -1 +1 @@ -05055cz a2200649n 4500001000800000005001700008008004100025010001700066024004400083024002700127024011700154024001900271024010900290024002000399024006600419024011900485024003600604024005600640024005800696035002300754040009700777046002700874053002400901110002000925368007600945368007301021370011001094370011601204372007501320372007201395377010101467410001601568410001301584410001001597410001601607410001501623500012201638500013201760500012801892500011902020500011602139500013902255510007002394667009702464667005602561667004602617670005402663670003302717670003802750670007002788670044002858670066103298670014703959670027404106952001004380953001504390142018020201127070020.0790409n| azannaabn |b ana  an 79018119 8 1http://dbpedia.org/resource/The_Beatles7 amn00007540322allmusic7 a72761545-24a3-4027-88b2-32b5a68b0e692bbcth1http://www.bbc.co.uk/things/72761545-24a3-4027-88b2-32b5a68b0e69#id7 a827302discogs7 a5003724042gettyulan0http://vocab.getty.edu/ulan/5003724041http://vocab.getty.edu/ulan/500372404-agent7 anm13973132imdb7 a00000001217074842isni1http://isni.org/isni/00000001217074847 ab10bbbfc-cf9e-42e0-be17-e2c3e1d2600d2musicb1http://musicbrainz.org/artist/b10bbbfc-cf9e-42e0-be17-e2c3e1d2600d#_7 a3WrFJ7ztbogyGnTHbHJFl22spotify7 a1412056082viaf1http://www.viaf.org/viaf/1412056087 aQ12992wikidata1http://www.wikidata.org/entity/Q1299 a(OCoLC)oca00251974 aDLCbengerdacDLCdDLC-RdDLCdOCoLCdUkdIAhCCSdWaUdICUdMMeTdIAhCCSdDLCdWaUdOhKeUAV s1960-08-16t19702edtf 0aML421.B4cBiography2 aC374139 Beatles aMusical groups2lcsh0http://id.loc.gov/authorities/subjects/sh85088960 aRock groups2lcsh0http://id.loc.gov/authorities/subjects/sh85114671 cGreat Britain2naf0http://id.loc.gov/authorities/names/n790231471http://id.loc.gov/rwo/agents/n79023147 eLiverpool (England)2naf0http://id.loc.gov/authorities/names/n800509501http://id.loc.gov/rwo/agents/n80050950 aPopular music2lcsh0http://id.loc.gov/authorities/subjects/sh85088865 aRock music2lcsh0http://id.loc.gov/authorities/subjects/sh85114675 aengafre0http://id.loc.gov/vocabulary/languages/eng0http://id.loc.gov/vocabulary/languages/fre2 aBiĭtŭls2 aBiṭels2 aBitlz2 aThe Beatles2 aביטלס1 wriMember:aBest, Pete,d1941-0http://id.loc.gov/authorities/names/n822203991http://id.loc.gov/rwo/agents/n822203991 wriMember:aHarrison, George,d1943-20010http://id.loc.gov/authorities/names/n810418451http://id.loc.gov/rwo/agents/n810418451 wriMember:aLennon, John,d1940-19800http://id.loc.gov/authorities/names/n800178681http://id.loc.gov/rwo/agents/n800178681 wriMember:aMcCartney, Paul0http://id.loc.gov/authorities/names/n500121351http://id.loc.gov/rwo/agents/n500121351 wriMember:aStarr, Ringo0http://id.loc.gov/authorities/names/n810418461http://id.loc.gov/rwo/agents/n810418461 wriMember:aSutcliffe, Stuart,d1940-19620http://id.loc.gov/authorities/names/no20020154621http://id.loc.gov/rwo/agents/no20020154622 wriFounded corporate body of corporate body:aApple Corps Limited aURIs added to this record for the PCC URI MARC Pilot. Please do not remove or edit the URIs. aMachine-derived non-Latin script reference project. aNon-Latin script reference not evaluated. aShepherd, B. The true story of The Beatles, 1964. aUriel, Y. ha-Biṭels, 1993. aNarichakha gi Biĭtŭls, c1991. aOskolki neba, ili, Podlinnai︠a︡ istorii︠a︡ "Bitlz", 1997. aThe complete idiot's guide to The Beatles, c1998:bp. 86 (list of earlier names, chronologically: The Black Jacks, The Quarry Men, Johnny and the Moondogs, The Nerk Twins, The Beatals, The Silver Beetles, The Silver Beets, The Beatles, The Silver Beetles, The Silver Beatles, The Beatles (Aug. 16, 1960- ) p. 111 (My Bonnie was credited to Tony Sheridan & The Beat Brothers because "The Beatles" sounded similar to a German slang word) aWikipedia, Nov. 2, 2012b(The Beatles were an English rock band formed in Liverpool in 1960 who became the most commercially successful and critically acclaimed act in the history of popular music; Origin: Liverpool, England; Genres: Rock, pop; Years active: 1960-70; Principal members: John Lennon (1960-69); Paul McCartney (1960-70); George Harrison (1960-70); Ringo Starr (1962-70); "Michelle" is a love ballad by The Beatles, mainly written by Paul McCartney, with the middle eight co-written with John Lennon. It is featured on their Rubber Soul album. The song is unique among The Beatles' other recordings in that its lyrics are partially in French) aAll Music, Jan. 30, 2014b(The Beatles; Group Members: George Harrison, John Lennon, Paul McCartney, Pete Best, Ringo Starr, Stuart Sutcliffe) aWikipedia, searched November 25, 2020b(Apple Corps; Apple Corps Limited; informally known as: Apple; multimedia corporation; founded in London, January 1968, by members of the Beatles; replaced earlier company, Beatles, Inc.)uhttps://en.wikipedia.org/wiki/Apple_Corps aRETRO axx00bvk05 \ No newline at end of file +05063cz a2200649n 4500001000800000005001700008008004100025010001700066024004400083024002700127024011700154024001900271024010900290024002000399024006600419024011900485024003600604024005600640024005800696035002300754040009700777046002700874053002400901110002000925368007600945368007301021370011001094370011601204372007501320372007201395377010101467410001601568410001301584410001001597410001601607410001501623500013001638500013201768500012801900500011902028500011602147500013902263510007002402667009702472667005602569667004602625670005402671670003302725670003802758670007002796670044002866670066103306670014703967670027404114952001004388953001504398142018020201127070020.0790409n| azannaabn |b ana  an 79018119 8 1http://dbpedia.org/resource/The_Beatles7 amn00007540322allmusic7 a72761545-24a3-4027-88b2-32b5a68b0e692bbcth1http://www.bbc.co.uk/things/72761545-24a3-4027-88b2-32b5a68b0e69#id7 a827302discogs7 a5003724042gettyulan0http://vocab.getty.edu/ulan/5003724041http://vocab.getty.edu/ulan/500372404-agent7 anm13973132imdb7 a00000001217074842isni1http://isni.org/isni/00000001217074847 ab10bbbfc-cf9e-42e0-be17-e2c3e1d2600d2musicb1http://musicbrainz.org/artist/b10bbbfc-cf9e-42e0-be17-e2c3e1d2600d#_7 a3WrFJ7ztbogyGnTHbHJFl22spotify7 a1412056082viaf1http://www.viaf.org/viaf/1412056087 aQ12992wikidata1http://www.wikidata.org/entity/Q1299 a(OCoLC)oca00251974 aDLCbengerdacDLCdDLC-RdDLCdOCoLCdUkdIAhCCSdWaUdICUdMMeTdIAhCCSdDLCdWaUdOhKeUAV s1960-08-16t19702edtf 0aML421.B4cBiography2 aC374139 Beatles aMusical groups2lcsh0http://id.loc.gov/authorities/subjects/sh85088960 aRock groups2lcsh0http://id.loc.gov/authorities/subjects/sh85114671 cGreat Britain2naf0http://id.loc.gov/authorities/names/n790231471http://id.loc.gov/rwo/agents/n79023147 eLiverpool (England)2naf0http://id.loc.gov/authorities/names/n800509501http://id.loc.gov/rwo/agents/n80050950 aPopular music2lcsh0http://id.loc.gov/authorities/subjects/sh85088865 aRock music2lcsh0http://id.loc.gov/authorities/subjects/sh85114675 aengafre0http://id.loc.gov/vocabulary/languages/eng0http://id.loc.gov/vocabulary/languages/fre2 aBiĭtŭls2 aBiṭels2 aBitlz2 aThe Beatles2 aביטלס1 wriMember:aC374139 Best, Pete,d1941-0http://id.loc.gov/authorities/names/n822203991http://id.loc.gov/rwo/agents/n822203991 wriMember:aHarrison, George,d1943-20010http://id.loc.gov/authorities/names/n810418451http://id.loc.gov/rwo/agents/n810418451 wriMember:aLennon, John,d1940-19800http://id.loc.gov/authorities/names/n800178681http://id.loc.gov/rwo/agents/n800178681 wriMember:aMcCartney, Paul0http://id.loc.gov/authorities/names/n500121351http://id.loc.gov/rwo/agents/n500121351 wriMember:aStarr, Ringo0http://id.loc.gov/authorities/names/n810418461http://id.loc.gov/rwo/agents/n810418461 wriMember:aSutcliffe, Stuart,d1940-19620http://id.loc.gov/authorities/names/no20020154621http://id.loc.gov/rwo/agents/no20020154622 wriFounded corporate body of corporate body:aApple Corps Limited aURIs added to this record for the PCC URI MARC Pilot. Please do not remove or edit the URIs. aMachine-derived non-Latin script reference project. aNon-Latin script reference not evaluated. aShepherd, B. The true story of The Beatles, 1964. aUriel, Y. ha-Biṭels, 1993. aNarichakha gi Biĭtŭls, c1991. aOskolki neba, ili, Podlinnai︠a︡ istorii︠a︡ "Bitlz", 1997. aThe complete idiot's guide to The Beatles, c1998:bp. 86 (list of earlier names, chronologically: The Black Jacks, The Quarry Men, Johnny and the Moondogs, The Nerk Twins, The Beatals, The Silver Beetles, The Silver Beets, The Beatles, The Silver Beetles, The Silver Beatles, The Beatles (Aug. 16, 1960- ) p. 111 (My Bonnie was credited to Tony Sheridan & The Beat Brothers because "The Beatles" sounded similar to a German slang word) aWikipedia, Nov. 2, 2012b(The Beatles were an English rock band formed in Liverpool in 1960 who became the most commercially successful and critically acclaimed act in the history of popular music; Origin: Liverpool, England; Genres: Rock, pop; Years active: 1960-70; Principal members: John Lennon (1960-69); Paul McCartney (1960-70); George Harrison (1960-70); Ringo Starr (1962-70); "Michelle" is a love ballad by The Beatles, mainly written by Paul McCartney, with the middle eight co-written with John Lennon. It is featured on their Rubber Soul album. The song is unique among The Beatles' other recordings in that its lyrics are partially in French) aAll Music, Jan. 30, 2014b(The Beatles; Group Members: George Harrison, John Lennon, Paul McCartney, Pete Best, Ringo Starr, Stuart Sutcliffe) aWikipedia, searched November 25, 2020b(Apple Corps; Apple Corps Limited; informally known as: Apple; multimedia corporation; founded in London, January 1968, by members of the Beatles; replaced earlier company, Beatles, Inc.)uhttps://en.wikipedia.org/wiki/Apple_Corps aRETRO axx00bvk05 \ No newline at end of file diff --git a/cypress/fixtures/marcAuthFileForC376595.mrc b/cypress/fixtures/marcAuthFileForC376595.mrc index cb55254178..054d4f7f93 100644 --- a/cypress/fixtures/marcAuthFileForC376595.mrc +++ b/cypress/fixtures/marcAuthFileForC376595.mrc @@ -1 +1 @@ -00705cz a2200145n 4500001001300000008004100013005001700054010003100071040002300102100002600125400002900151400002200180670014800202670020900350n 00000911 000225n| acannaabn |a aaa 20220728213423.7 an 00000912 zn 2005070769 aDLCbengcDLCdDLC1 aErbil, H. Yıldırım1 aErbil, Y.q(Yıldırım)1 aErbil,cProfessor aErbil, H. Yıldırım. Vinyl acetate emulsion polymerization and copolymerization with acrylic monomers, 2000:bCIP t.p. (H. Yıldırım Erbil) aSurface chemistry of solid and liquid interfaces, 2006:bCIP t.p. (Professor Erbil; Gebze Institute of Technology, Faculty of Engineering, Department of Chemical Engineering, Turkey) data view (Erbil, Y.) \ No newline at end of file +00718cz a2200145n 4500001001300000008004100013005001700054010003100071040002300102100003900125400002900164400002200193670014800215670020900363n 00000911 000225n| acannaabn |a aaa 20220728213423.7 an 00000912 zn 2005070769 aDLCbengcDLCdDLC1 aC376595 Auto Erbil, H. Yıldırım1 aErbil, Y.q(Yıldırım)1 aErbil,cProfessor aErbil, H. Yıldırım. Vinyl acetate emulsion polymerization and copolymerization with acrylic monomers, 2000:bCIP t.p. (H. Yıldırım Erbil) aSurface chemistry of solid and liquid interfaces, 2006:bCIP t.p. (Professor Erbil; Gebze Institute of Technology, Faculty of Engineering, Department of Chemical Engineering, Turkey) data view (Erbil, Y.) \ No newline at end of file diff --git a/cypress/support/api/eholdings.js b/cypress/support/api/eholdings.js index 96a125d953..18fa206d09 100644 --- a/cypress/support/api/eholdings.js +++ b/cypress/support/api/eholdings.js @@ -15,3 +15,22 @@ Cypress.Commands.add('getEHoldingsTitlesViaAPI', (titleName) => { isDefaultSearchParamsRequired: false, }); }); + +Cypress.Commands.add('getEholdingsProxiesViaAPI', () => { + cy.okapiRequest({ + method: 'GET', + path: 'eholdings/root-proxy', + isDefaultSearchParamsRequired: false, + }).then((rootResponse) => { + cy.okapiRequest({ + method: 'GET', + path: 'eholdings/proxy-types?limit=15', + isDefaultSearchParamsRequired: false, + }).then(({ body }) => { + return body.data.map((proxy) => { + if (proxy.attributes.id === rootResponse.body.data.attributes.proxyTypeId) return `Inherited - ${proxy.attributes.name}`; + else return proxy.attributes.name; + }); + }); + }); +}); diff --git a/cypress/support/fragments/bulk-edit/query-modal.js b/cypress/support/fragments/bulk-edit/query-modal.js index 9e7f316c76..4d02858e39 100644 --- a/cypress/support/fragments/bulk-edit/query-modal.js +++ b/cypress/support/fragments/bulk-edit/query-modal.js @@ -325,7 +325,8 @@ export default { cy.wrap($element) .invoke('text') .then((text) => { - const [totalRecords, previewRecords] = text.match(/\d+/g).map(Number); + const totalRecords = text.match(/\d{1,3}(,\d{3})*|\d+/g)[0]; + const previewRecords = Number(text.match(/\d{1,3}(,\d{3})*|\d+/g)[1]); const previewLabel = `Preview of first ${Math.min(previewRecords, 100)} records.`; expect(text.startsWith(`Query would return ${totalRecords} records.`)).to.equal(true); expect(previewLabel).to.equal( diff --git a/cypress/support/fragments/data-export/exportJobProfile/exportJobProfiles.js b/cypress/support/fragments/data-export/exportJobProfile/exportJobProfiles.js index 6dbf69c58f..85e9f14b3f 100644 --- a/cypress/support/fragments/data-export/exportJobProfile/exportJobProfiles.js +++ b/cypress/support/fragments/data-export/exportJobProfile/exportJobProfiles.js @@ -41,6 +41,9 @@ export default { }, verifyJobProfileInTheTable(jobProfileName) { + cy.wait(2000); + // Scroll in case the list of results is long + cy.get('#search-results-list [class^=mclScrollable]').scrollTo('bottom'); cy.expect(jobProfilesPane.find(MultiColumnListCell({ content: `${jobProfileName}` }))); }, @@ -61,6 +64,8 @@ export default { }, clickProfileNameFromTheList(name) { + // Scroll in case the list of results is long + cy.get('#search-results-list [class^=mclScrollable]').scrollTo('bottom'); cy.do(MultiColumnListCell(including(name)).click()); }, diff --git a/cypress/support/fragments/data-export/exportMappingProfile/exportFieldMappingProfiles.js b/cypress/support/fragments/data-export/exportMappingProfile/exportFieldMappingProfiles.js index f9ff009845..c8706d8ef5 100644 --- a/cypress/support/fragments/data-export/exportMappingProfile/exportFieldMappingProfiles.js +++ b/cypress/support/fragments/data-export/exportMappingProfile/exportFieldMappingProfiles.js @@ -151,6 +151,9 @@ export default { }, verifyProfileNameOnTheList(name) { + cy.wait(2000); + // Scroll in case the list of results is long + cy.get('#search-results-list [class^=mclScrollable]').scrollTo('bottom'); cy.expect(MultiColumnListRow(including(name)).exists()); }, diff --git a/cypress/support/fragments/data-export/exportMappingProfile/singleFieldMappingProfilePane.js b/cypress/support/fragments/data-export/exportMappingProfile/singleFieldMappingProfilePane.js index 0d6b8db570..c67bbf26eb 100644 --- a/cypress/support/fragments/data-export/exportMappingProfile/singleFieldMappingProfilePane.js +++ b/cypress/support/fragments/data-export/exportMappingProfile/singleFieldMappingProfilePane.js @@ -22,6 +22,8 @@ const cancelButton = Button('Cancel'); export default { clickProfileNameFromTheList(name) { + // Scroll in case the list of results is long + cy.get('#search-results-list [class^=mclScrollable]').scrollTo('bottom'); cy.do(MultiColumnListCell(including(name)).click()); }, diff --git a/cypress/support/fragments/eholdings/eHoldingsPackages.js b/cypress/support/fragments/eholdings/eHoldingsPackages.js index 9860f5daa6..f9617fbe9f 100644 --- a/cypress/support/fragments/eholdings/eHoldingsPackages.js +++ b/cypress/support/fragments/eholdings/eHoldingsPackages.js @@ -34,7 +34,6 @@ const searchIcon = Button({ icon: 'search' }); const searchField = TextField({ id: 'eholdings-search' }); const chooseParameterField = Select('Select a field to search'); const subjectKeyValue = KeyValue('Subjects'); -const availableProxies = ['chalmers', 'Inherited - None', 'ezproxY-T', 'MJProxy']; const proxySelect = Select('Proxy'); const customCoverageDate = KeyValue('Custom coverage dates'); const startDateInput = TextField({ id: 'begin-coverage-0' }); @@ -369,14 +368,16 @@ export default { changePackageRecordProxy: () => { return cy - .then(() => proxySelect.value()) + .then(() => proxySelect.checkedOptionText()) .then((selectedProxy) => { - const notSelectedProxy = availableProxies.filter( - (availableProxy) => availableProxy.toLowerCase() !== selectedProxy, - )[0]; - cy.do(proxySelect.choose(notSelectedProxy)); - cy.expect(proxySelect.find(HTML(including(notSelectedProxy))).exists()); - return cy.wrap(notSelectedProxy); + cy.getEholdingsProxiesViaAPI().then((existingProxies) => { + const notSelectedProxy = existingProxies.filter( + (existingProxy) => existingProxy !== selectedProxy, + )[0]; + cy.do(proxySelect.choose(notSelectedProxy)); + cy.expect(proxySelect.find(HTML(including(notSelectedProxy))).exists()); + return cy.wrap(notSelectedProxy); + }); }); }, diff --git a/cypress/support/fragments/marcAuthority/marcAuthorities.js b/cypress/support/fragments/marcAuthority/marcAuthorities.js index 4d078609ee..f10b3358e4 100644 --- a/cypress/support/fragments/marcAuthority/marcAuthorities.js +++ b/cypress/support/fragments/marcAuthority/marcAuthorities.js @@ -1662,4 +1662,8 @@ export default { }); }); }, + + verifyNoSourceOptionsSelected() { + cy.expect(sourceFileAccordion.find(ValueChipRoot()).absent()); + }, }; diff --git a/cypress/support/fragments/settings/inventory/instances/classificationBrowse.js b/cypress/support/fragments/settings/inventory/instances/classificationBrowse.js index aefbca4dab..b3db6f6f45 100644 --- a/cypress/support/fragments/settings/inventory/instances/classificationBrowse.js +++ b/cypress/support/fragments/settings/inventory/instances/classificationBrowse.js @@ -12,6 +12,7 @@ import { MultiSelect, MultiSelectMenu, including, + ValueChipRoot, } from '../../../../../../interactors'; const classificationBrowseSectionName = 'Classification browse'; @@ -201,10 +202,11 @@ export default { cy.do(MultiSelectMenu().find(MultiSelectOption(option)).click()); }, - checkOptionSelectedInClassificationIdentifierTypesDropdown(browseOption, option) { + checkOptionSelectedInClassificationIdentifierTypesDropdown(browseOption, optionsArray) { const targetRow = this.getTargetRowWithClassificationName(browseOption); - - cy.expect(targetRow.find(MultiSelect({ selected: option })).exists()); + optionsArray.forEach((option) => { + cy.expect(targetRow.find(ValueChipRoot(option)).exists()); + }); }, clickSaveButtonInBrowseOption(browseOption) { diff --git a/cypress/support/fragments/settings/marc-authority/manageAuthorityFiles.js b/cypress/support/fragments/settings/marc-authority/manageAuthorityFiles.js index f4a83ea25f..fd6e21d733 100644 --- a/cypress/support/fragments/settings/marc-authority/manageAuthorityFiles.js +++ b/cypress/support/fragments/settings/marc-authority/manageAuthorityFiles.js @@ -233,7 +233,7 @@ const defaultFolioAuthorityFiles = [ name: DEFAULT_FOLIO_AUTHORITY_FILES.MEDICAL_SUBJECT_HEADINGS, prefix: 'D', startsWith: '', - baseUrl: 'https://id.nlm.nih.gov/mesh/1/', + baseUrl: 'https://id.nlm.nih.gov/mesh/', }, { name: DEFAULT_FOLIO_AUTHORITY_FILES.RARE_BOOKS_AND_MANUSCRIPTS_SECTION, diff --git a/cypress/support/fragments/settings/tenant/tenantPane.js b/cypress/support/fragments/settings/tenant/tenantPane.js index d4890b090e..088962d759 100644 --- a/cypress/support/fragments/settings/tenant/tenantPane.js +++ b/cypress/support/fragments/settings/tenant/tenantPane.js @@ -60,7 +60,8 @@ export default { TENANTS.ADDRESSES, TENANTS.LANGUAGE_AND_LOCALIZATION, TENANTS.PREFERRED_PLUGINS, - TENANTS.SSO_SETTINGS, + // there is no 'SSO settings' module in eureka env https://folio-org.atlassian.net/browse/EUREKA-480 + // TENANTS.SSO_SETTINGS, TENANTS.SERVICE_POINTS, ].forEach((item) => { if (exist) { diff --git a/cypress/support/fragments/users/usersCard.js b/cypress/support/fragments/users/usersCard.js index a68e553e13..6735a247eb 100644 --- a/cypress/support/fragments/users/usersCard.js +++ b/cypress/support/fragments/users/usersCard.js @@ -21,6 +21,7 @@ import { Spinner, TextArea, TextField, + or, } from '../../../../interactors'; import DateTools from '../../utils/dateTools'; import NewNote from '../notes/newNote'; @@ -61,6 +62,7 @@ const usersPath = Cypress.env('eureka') ? 'users-keycloak/users' : 'users'; const profilePictureCard = Image({ alt: 'Profile picture' }); const lastNameField = KeyValue('Last name'); const firstNameField = KeyValue('First name'); +const rolesAffiliationSelect = Section({ id: 'rolesSection' }).find(Selection('Affiliation')); export default { errors, @@ -641,4 +643,15 @@ export default { rootSection.find(firstNameField).has({ value: firstName }), ]); }, + + checkSelectedRolesAffiliation(affiliation) { + cy.expect( + rolesAffiliationSelect.has({ singleValue: or(affiliation, `${affiliation} (Primary)`) }), + ); + }, + + selectRolesAffiliation(affiliation) { + cy.do(rolesAffiliationSelect.choose(or(affiliation, `${affiliation} (Primary)`))); + this.checkSelectedRolesAffiliation(affiliation); + }, };