Skip to content

Commit

Permalink
Merge branch 'master' into FAT-16673
Browse files Browse the repository at this point in the history
  • Loading branch information
eremv authored Sep 25, 2024
2 parents ae265ef + d989ea3 commit 0ddcbc6
Show file tree
Hide file tree
Showing 10 changed files with 312 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import permissions from '../../../support/dictionary/permissions';
import BulkEditActions from '../../../support/fragments/bulk-edit/bulk-edit-actions';
import BulkEditSearchPane from '../../../support/fragments/bulk-edit/bulk-edit-search-pane';
import BulkEditFiles from '../../../support/fragments/bulk-edit/bulk-edit-files';
import InventoryInstances from '../../../support/fragments/inventory/inventoryInstances';
import TopMenu from '../../../support/fragments/topMenu';
import Users from '../../../support/fragments/users/users';
Expand All @@ -18,6 +19,7 @@ const instanceUUIDsFileName = `instanceUUIDs-${getRandomPostfix()}.csv`;
const matchedRecordsFileName = `*-Matched-Records-${instanceUUIDsFileName}`;
const previewFileName = `*-Updates-Preview-${instanceUUIDsFileName}`;
const changedRecordsFileName = `*-Changed-Records-${instanceUUIDsFileName}`;
const errorsFromCommittingFileName = `*-Committing-changes-Errors-${instanceUUIDsFileName}`;
const folioItem = {
instanceName: `testBulkEdit_${getRandomPostfix()}`,
itemBarcode: `folioItem${getRandomPostfix()}`,
Expand All @@ -26,14 +28,14 @@ const marcInstance = {
instanceName: `testBulkEdit_${getRandomPostfix()}`,
itemBarcode: `folioItem${getRandomPostfix()}`,
};

const notes = {
dissertationNote: 'test instance note',
dissertationNoteStaffOnly: 'test instance note staff only',
dataQualityNote: 'data quality note',
exhibitionsNote: 'exhibitions note',
administrativeNote: 'administrative note',
};
const reasonForError = 'Bulk edit of instance notes is not supported for MARC Instances.';

describe('bulk-edit', () => {
describe('in-app approach', () => {
Expand Down Expand Up @@ -97,6 +99,7 @@ describe('bulk-edit', () => {
matchedRecordsFileName,
previewFileName,
changedRecordsFileName,
errorsFromCommittingFileName,
);
});

Expand Down Expand Up @@ -184,6 +187,10 @@ describe('bulk-edit', () => {
`${notes.exhibitionsNote} (staff only)`,
);

BulkEditSearchPane.verifyErrorLabelInErrorAccordion(instanceUUIDsFileName, 2, 2, 3);
BulkEditSearchPane.verifyNonMatchedResults(marcInstance.instanceId);
BulkEditSearchPane.verifyReasonForError(reasonForError);

BulkEditActions.openActions();
BulkEditActions.downloadChangedCSV();
ExportFile.verifyFileIncludes(previewFileName, [
Expand All @@ -196,6 +203,13 @@ describe('bulk-edit', () => {
]);
ExportFile.verifyFileIncludes(previewFileName, ['Dissertation note'], false);

BulkEditActions.downloadErrors();
BulkEditFiles.verifyCSVFileRows(errorsFromCommittingFileName, [
`${marcInstance.instanceId},${reasonForError}`,
`${marcInstance.instanceId},${reasonForError}`,
`${marcInstance.instanceId},${reasonForError}`,
]);

cy.visit(TopMenu.inventoryPath);
InventorySearchAndFilter.searchInstanceByTitle(folioItem.instanceName);
InventoryInstances.selectInstance();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import permissions from '../../../support/dictionary/permissions';
import ListConfiguration from '../../../support/fragments/settings/orders/listConfiguration';
import SettingsMenu from '../../../support/fragments/settingsMenu';
import Users from '../../../support/fragments/users/users';

Cypress.on('uncaught:exception', () => false);

describe('orders: Settings', () => {
let user;

before(() => {
cy.getAdminToken();

cy.createTempUser([permissions.uiSettingsOrdersCanViewAndEditAllSettings.gui]).then(
(userProperties) => {
user = userProperties;
cy.login(user.username, user.password, {
path: SettingsMenu.ordersListConfigurationPath,
waiter: ListConfiguration.waitLoading,
});
},
);
});

after(() => {
cy.getAdminToken();
Users.deleteViaApi(user.userId);
});

it(
'C466279 Add tokens to routing list configuration (thunderjet)',
{ tags: ['criticalPath', 'thunderjet'] },
() => {
ListConfiguration.edit();
ListConfiguration.clickOnAddTokensInBody();
ListConfiguration.selectToken('routingList.name');
ListConfiguration.selectToken('routingList.notes');
ListConfiguration.addToken();
ListConfiguration.save();
ListConfiguration.preview();
ListConfiguration.checkTokenInPreview('Routing Name');
ListConfiguration.checkTokenInPreview('Routing notes');
ListConfiguration.closePreviewModal();
ListConfiguration.edit();
ListConfiguration.clickOnAddTokensInBody();
ListConfiguration.selectToken('routingList.name');
ListConfiguration.addToken();
ListConfiguration.selectToken('routingList.notes');
ListConfiguration.cancelAddToken();
ListConfiguration.cancelAndKeepEditing();
ListConfiguration.clickOnAddTokensInBody();
ListConfiguration.selectToken('routingList.name');
ListConfiguration.cancelAddToken();
ListConfiguration.cancel();
},
);
});
51 changes: 51 additions & 0 deletions cypress/e2e/settings/orders/edit-routing-list-configuration.cy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import permissions from '../../../support/dictionary/permissions';
import ListConfiguration from '../../../support/fragments/settings/orders/listConfiguration';
import SettingsMenu from '../../../support/fragments/settingsMenu';
import Users from '../../../support/fragments/users/users';
import getRandomPostfix from '../../../support/utils/stringTools';
import RoutingAddress from '../../../support/fragments/settings/orders/routingAddress';
import SettingOrdersNavigationMenu from '../../../support/fragments/settings/orders/settingOrdersNavigationMenu';

Cypress.on('uncaught:exception', () => false);

describe('orders: Settings', () => {
const listConfigurationDesription = `LCD${getRandomPostfix()}`;
const routingAddressLink = 'routing-address';
let user;

before(() => {
cy.getAdminToken();

cy.createTempUser([permissions.uiSettingsOrdersCanViewAndEditAllSettings.gui]).then(
(userProperties) => {
user = userProperties;
cy.login(user.username, user.password, {
path: SettingsMenu.ordersListConfigurationPath,
waiter: ListConfiguration.waitLoading,
});
},
);
});

after(() => {
cy.getAdminToken();
Users.deleteViaApi(user.userId);
});

it(
'C466275 Edit routing list configuration (thunderjet)',
{ tags: ['criticalPath', 'thunderjet'] },
() => {
ListConfiguration.edit();
ListConfiguration.fillInfoSectionFields(listConfigurationDesription, routingAddressLink);
ListConfiguration.addLinkInBody();
ListConfiguration.save();
ListConfiguration.clickOnLinkInBody(routingAddressLink);
RoutingAddress.waitLoading();
SettingOrdersNavigationMenu.selectListConfiguration();
ListConfiguration.preview();
ListConfiguration.clickOnLinkInPreview(routingAddressLink);
RoutingAddress.waitLoading();
},
);
});
2 changes: 2 additions & 0 deletions cypress/e2e/settings/remote-storage/remote-storage.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ describe('remote-storage-configuration', () => {
false,
);
Configurations.closeEditConfiguration();
Configurations.clickCloseWithoutSavingButtonInAreYouSureForm();
Configurations.deleteRemoteStorage(newName);
});
});
Expand All @@ -72,6 +73,7 @@ describe('remote-storage-configuration', () => {
Configurations.editConfiguration(name, { timingInput: timingToEdit });
Configurations.closeWithoutSaving();
Configurations.editConfiguration(name, { urlInput: urlToEdit, timingInput: '1' });
Configurations.closeWithSaving();

// delete created configuration
Configurations.deleteRemoteStorage(name);
Expand Down
17 changes: 17 additions & 0 deletions cypress/support/fragments/bulk-edit/bulk-edit-search-pane.js
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,23 @@ export default {
);
},

verifyErrorLabelInErrorAccordion(
fileName,
numberOfEntries,
numberOfRecordsChanged,
numberOfErrors,
) {
cy.expect(
Accordion('Errors')
.find(
HTML(
`${fileName}: ${numberOfEntries} entries * ${numberOfRecordsChanged} records changed * ${numberOfErrors} errors`,
),
)
.exists(),
);
},

verifyReasonForError(errorText) {
cy.expect(
Accordion('Errors')
Expand Down
100 changes: 100 additions & 0 deletions cypress/support/fragments/settings/orders/listConfiguration.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
import { Button, Checkbox, Link, Modal, Section, TextArea } from '../../../../../interactors';
import RichTextEditor from '../../../../../interactors/rich-text-editor';
import InteractorsTools from '../../../utils/interactorsTools';

const routingListConfigurationSection = Section({ id: 'routing-list-configuration-template-pane' });
const previewModal = Modal({ id: 'preview-modal' });
const addTokenModal = Modal('Add token');
const cancelEditingConfirmationModal = Modal({ id: 'cancel-editing-confirmation' });
const cancelButton = Button('Cancel');

export default {
waitLoading() {
cy.expect(routingListConfigurationSection.exists());
},

edit() {
cy.wait(2000);
cy.do(routingListConfigurationSection.find(Button('Edit')).click());
},

preview() {
cy.wait(2000);
cy.do(routingListConfigurationSection.find(Button('Preview')).click());
cy.expect(previewModal.exists());
},

save() {
cy.do(Button({ id: 'routing-list-configuration-save-button' }).click());
InteractorsTools.checkCalloutMessage(
'The Routing list configuration notice template was successfully updated.',
);
},

cancel() {
cy.wait(2000);
cy.do(cancelButton.click());
cy.expect(cancelEditingConfirmationModal.exists());
cy.do(Button({ id: 'clickable-cancel-editing-confirmation-cancel' }).click());
},

cancelAndKeepEditing() {
cy.wait(2000);
cy.do(cancelButton.click());
cy.expect(cancelEditingConfirmationModal.exists());
cy.do(Button({ id: 'clickable-cancel-editing-confirmation-confirm' }).click());
},

fillInfoSectionFields(descripription, body) {
cy.wait(2000);
cy.do(TextArea({ name: 'description' }).fillIn(descripription));
cy.do(RichTextEditor().fillIn(body));
},

addLinkInBody: () => {
cy.get('.ql-container > .ql-editor').type('{selectAll}');
cy.do(Button({ ariaLabel: 'link' }).click());
cy.get('.ql-action').click();
},

clickOnLinkInBody(linkName) {
cy.wait(2000);
cy.do(routingListConfigurationSection.find(Link(linkName)).click());
},

clickOnAddTokensInBody() {
cy.wait(2000);
cy.do(Button({ ariaLabel: 'token' }).click());
cy.expect(addTokenModal.exists());
},

selectToken(tokenName) {
cy.wait(2000);
cy.do(Checkbox(tokenName).click());
},

addToken() {
cy.wait(2000);
cy.do(addTokenModal.find(Button('Add token')).click());
},

cancelAddToken() {
cy.wait(2000);
cy.do(addTokenModal.find(cancelButton).click());
},

clickOnLinkInPreview(linkName) {
cy.wait(2000);
cy.do(previewModal.find(Link(linkName)).click());
},

closePreviewModal() {
cy.wait(2000);
cy.do(previewModal.find(Button('Close')).click());
},

checkTokenInPreview(tokenName) {
cy.wait(2000);
cy.get('#preview-modal-content').contains(`${tokenName}`);
},
};
7 changes: 7 additions & 0 deletions cypress/support/fragments/settings/orders/routingAddress.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { Section } from '../../../../../interactors';

export default {
waitLoading() {
cy.expect(Section({ id: 'central-ordering' }).exists());
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import { NavListItem } from '../../../../../interactors';

export default {
selectApprovals: () => {
cy.do(NavListItem('Approvals').click());
},
selectClosingPurchaseOrderReasons: () => {
cy.do(NavListItem('Closing purchase order reasons').click());
},
selectOrderTemplates: () => {
cy.do(NavListItem('Order templates').click());
},
selectOpeningPurchaseOrders: () => {
cy.do(NavListItem('Opening purchase orders').click());
},
selectAcquisitionMethods: () => {
cy.do(NavListItem('Acquisition methods').click());
},
selectCustomFieldsPurchaseOrders: () => {
cy.do(NavListItem('Custom Fields - Purchase Orders').click());
},
selectCustomFieldsPurchaseOrderLines: () => {
cy.do(NavListItem('Custom Fields - Purchase Order Lines').click());
},
selectPONumberEdit: () => {
cy.do(NavListItem('Edit').click());
},
selectPrefixes: () => {
cy.do(NavListItem('Prefixes').click());
},
selectCategories: () => {
cy.do(NavListItem('Suffixes').click());
},
selectInstanceMatching: () => {
cy.do(NavListItem('Instance matching').click());
},
selectInventoryInteractionsDefaults: () => {
cy.do(NavListItem('Inventory interactions defaults').click());
},
selectInstanceStatus: () => {
cy.do(NavListItem('Instance status').click());
},
selectInstanceType: () => {
cy.do(NavListItem('Instance type').click());
},
selectLoanType: () => {
cy.do(NavListItem('Loan type').click());
},
selectRoutingAddress: () => {
cy.do(NavListItem('Routing address').click());
},
selectListConfiguration: () => {
cy.do(NavListItem('List configuration').click());
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,11 @@ export default {
]);
},

clickCloseWithoutSavingButtonInAreYouSureForm() {
cy.do(Modal('Are you sure?').find(Button('Close without saving')).click());
cy.wait(1000);
},

closeWithSaving() {
return cy.do(Modal().find(Button('Save')).click());
},
Expand Down Expand Up @@ -323,6 +328,7 @@ export default {
},
closeEditConfiguration() {
cy.do([editConfigurationPane.find(xButton).click()]);
cy.wait(1000);
},

clickDeleteRemoteStorage(name) {
Expand Down
Loading

0 comments on commit 0ddcbc6

Please sign in to comment.