Skip to content

Commit

Permalink
Refactoring ECS autotests that interact with "consortia-controlled-vo…
Browse files Browse the repository at this point in the history
…cabulary-paneset" (#3242)

* added ConsortiaControlledVocabularyPaneset
  • Loading branch information
re-jas committed Feb 26, 2024
1 parent faa0a56 commit b4c3820
Show file tree
Hide file tree
Showing 19 changed files with 768 additions and 762 deletions.
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import Permissions from '../../../../../support/dictionary/permissions';
import Users from '../../../../../support/fragments/users/users';
import { calloutTypes } from '../../../../../../interactors';
import { getTestEntityValue } from '../../../../../support/utils/stringTools';
import ConsortiumManagerApp, {
messages,
settingsItems,
} from '../../../../../support/fragments/consortium-manager/consortiumManagerApp';
import Affiliations, { tenantNames } from '../../../../../support/dictionary/affiliations';
import Permissions from '../../../../../support/dictionary/permissions';
import Users from '../../../../../support/fragments/users/users';
import SelectMembers from '../../../../../support/fragments/consortium-manager/modal/select-members';
import TopMenuNavigation from '../../../../../support/fragments/topMenuNavigation';
import Affiliations, { tenantNames } from '../../../../../support/dictionary/affiliations';
import RequestCancellationReasonsConsortiumManager, {
messages,
} from '../../../../../support/fragments/consortium-manager/circulation/requestCancellationReasonsConsortiumManager';
import { getTestEntityValue } from '../../../../../support/utils/stringTools';
import RequestCancellationReasonsConsortiumManager from '../../../../../support/fragments/consortium-manager/circulation/requestCancellationReasonsConsortiumManager';
import ConfirmShare from '../../../../../support/fragments/consortium-manager/modal/confirm-share';
import ConsortiumManager from '../../../../../support/fragments/settings/consortium-manager/consortium-manager';
import CancellationReason from '../../../../../support/fragments/settings/circulation/cancellationReason';
import SettingsMenu from '../../../../../support/fragments/settingsMenu';
import { calloutTypes } from '../../../../../../interactors';
import ConsortiaControlledVocabularyPaneset from '../../../../../support/fragments/consortium-manager/consortiaControlledVocabularyPaneset';

describe('Consortia', () => {
describe('Consortium manager', () => {
Expand All @@ -26,15 +26,11 @@ describe('Consortia', () => {
name: '',
description: 'decsInt',
publicDescription: '',
shared: true,
members: 'All',
};
const secondCancelReason2 = {
name: getTestEntityValue('rcr2'),
description: '',
publicDescription: '',
shared: true,
members: 'All',
};

before('Create users data', () => {
Expand Down Expand Up @@ -82,16 +78,20 @@ describe('Consortia', () => {
cy.getAdminToken();
Users.deleteViaApi(userAData.userId);
Users.deleteViaApi(userBData.userId);
cy.getCancellationReasonsApi({ name: firstCancelReason.name }).then(
(cancellationReasons) => {
cy.deleteCancellationReasonApi(cancellationReasons[0].id);
},
);
cy.getCancellationReasonsApi({ name: secondCancelReason2.name }).then(
(cancellationReasons) => {
cy.deleteCancellationReasonApi(cancellationReasons[0].id);
},
);
cy.getCancellationReasonsApi({
limit: 1,
query: `name=="${firstCancelReason.name}"`,
}).then((cancellationReasons) => {
RequestCancellationReasonsConsortiumManager.deleteViaApi({
payload: {
name: firstCancelReason.name,
id: cancellationReasons[0].id,
source: 'consortium',
},
settingId: cancellationReasons[0].id,
url: '/cancellation-reason-storage/cancellation-reasons',
});
});
});

it(
Expand All @@ -104,54 +104,61 @@ describe('Consortia', () => {

ConsortiumManagerApp.chooseSettingsItem(settingsItems.circulation);
RequestCancellationReasonsConsortiumManager.choose();
RequestCancellationReasonsConsortiumManager.checkMessage(
ConsortiumManagerApp.checkMessage(
messages.noPermission(tenantNames.college),
calloutTypes.error,
);

RequestCancellationReasonsConsortiumManager.createViaUi(firstCancelReason);
RequestCancellationReasonsConsortiumManager.clickSave();
RequestCancellationReasonsConsortiumManager.verifyCancelReasonNameFailure(
messages.pleaseFillIn,
);
ConsortiaControlledVocabularyPaneset.createViaUi(true, firstCancelReason);
ConsortiaControlledVocabularyPaneset.clickSave();
ConsortiaControlledVocabularyPaneset.verifyFieldValidatorError({
name: messages.pleaseFillIn,
});

firstCancelReason.name = getTestEntityValue('rcr1');
RequestCancellationReasonsConsortiumManager.fillInCancelReasonName(
firstCancelReason.name,
);
RequestCancellationReasonsConsortiumManager.clickSave();
ConsortiaControlledVocabularyPaneset.fillInTextField({ name: firstCancelReason.name });
ConsortiaControlledVocabularyPaneset.clickSave();

ConfirmShare.waitLoadingConfirmShareToAll(firstCancelReason.name);
ConfirmShare.clickConfirm();
RequestCancellationReasonsConsortiumManager.checkMessage(
ConsortiumManagerApp.checkMessage(messages.created(firstCancelReason.name, 'All'));
ConsortiumManagerApp.checkMessage(
messages.noPermission(tenantNames.college),
calloutTypes.error,
);
RequestCancellationReasonsConsortiumManager.verifyReasonInTheList({
...firstCancelReason,
actions: ['edit', 'trash'],
});
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
[...Object.values(firstCancelReason), 'All'],
['edit', 'trash'],
);

RequestCancellationReasonsConsortiumManager.createViaUi(secondCancelReason2);
RequestCancellationReasonsConsortiumManager.clickSave();
ConsortiaControlledVocabularyPaneset.createViaUi(true, secondCancelReason2);
ConsortiaControlledVocabularyPaneset.clickSave();
ConfirmShare.waitLoadingConfirmShareToAll(secondCancelReason2.name);
ConfirmShare.clickKeepEditing();
RequestCancellationReasonsConsortiumManager.verifyEditModeElementsIsActive();
RequestCancellationReasonsConsortiumManager.clickCancel();
ConsortiaControlledVocabularyPaneset.verifyEditModeIsActive();
ConsortiaControlledVocabularyPaneset.clickCancel();

cy.logout();
cy.login(userBData.username, userBData.password);
cy.visit(SettingsMenu.circulationRequestCancellationReasonsPath);
CancellationReason.waitLoading();
CancellationReason.verifyReasonInTheList(firstCancelReason);
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
Object.values(firstCancelReason),
);

ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
cy.visit(SettingsMenu.circulationRequestCancellationReasonsPath);
CancellationReason.waitLoading();
CancellationReason.verifyReasonInTheList(firstCancelReason);
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
Object.values(firstCancelReason),
);

ConsortiumManager.switchActiveAffiliation(tenantNames.college, tenantNames.university);
cy.visit(SettingsMenu.circulationRequestCancellationReasonsPath);
CancellationReason.waitLoading();
CancellationReason.verifyReasonInTheList(firstCancelReason);
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
Object.values(firstCancelReason),
);
},
);
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
import Permissions from '../../../../../support/dictionary/permissions';
import Users from '../../../../../support/fragments/users/users';
import ConsortiumManagerApp, {
messages,
settingsItems,
} from '../../../../../support/fragments/consortium-manager/consortiumManagerApp';
import SelectMembers from '../../../../../support/fragments/consortium-manager/modal/select-members';
import TopMenuNavigation from '../../../../../support/fragments/topMenuNavigation';
import Affiliations, { tenantNames } from '../../../../../support/dictionary/affiliations';
import RequestCancellationReasonsConsortiumManager, {
messages,
reasonsActions,
} from '../../../../../support/fragments/consortium-manager/circulation/requestCancellationReasonsConsortiumManager';
import RequestCancellationReasonsConsortiumManager from '../../../../../support/fragments/consortium-manager/circulation/requestCancellationReasonsConsortiumManager';
import { getTestEntityValue } from '../../../../../support/utils/stringTools';
import ConfirmShare from '../../../../../support/fragments/consortium-manager/modal/confirm-share';
import ConsortiumManager from '../../../../../support/fragments/settings/consortium-manager/consortium-manager';
import CancellationReason from '../../../../../support/fragments/settings/circulation/cancellationReason';
import SettingsMenu from '../../../../../support/fragments/settingsMenu';
import DeleteCancelReason from '../../../../../support/fragments/consortium-manager/modal/delete-cancel-reason';
import ConsortiaControlledVocabularyPaneset, {
actionIcons,
} from '../../../../../support/fragments/consortium-manager/consortiaControlledVocabularyPaneset';

describe('Consortia', () => {
describe('Consortium manager', () => {
Expand All @@ -26,16 +27,12 @@ describe('Consortia', () => {
name: getTestEntityValue('Shared_reason_1'),
description: getTestEntityValue('SR1'),
publicDescription: '',
shared: true,
members: 'All',
};

const cancelReason2 = {
name: getTestEntityValue('Shared_reason_2'),
description: '',
publicDescription: '',
shared: true,
members: 'All',
};

before('Create users data', () => {
Expand Down Expand Up @@ -81,82 +78,78 @@ describe('Consortia', () => {
ConsortiumManagerApp.verifyStatusOfConsortiumManager(3);

ConsortiumManagerApp.chooseSettingsItem(settingsItems.circulation);

RequestCancellationReasonsConsortiumManager.choose();
RequestCancellationReasonsConsortiumManager.waitLoading();
RequestCancellationReasonsConsortiumManager.verifyNewButtonDisabled(false);
ConsortiaControlledVocabularyPaneset.waitLoading('Request cancellation reasons');
ConsortiaControlledVocabularyPaneset.verifyNewButtonDisabled(false);

RequestCancellationReasonsConsortiumManager.createViaUi(cancelReason);
RequestCancellationReasonsConsortiumManager.clickSave();
ConsortiaControlledVocabularyPaneset.createViaUi(true, cancelReason);
ConsortiaControlledVocabularyPaneset.clickSave();

ConfirmShare.waitLoadingConfirmShareToAll(cancelReason.name);
ConfirmShare.clickConfirm();
RequestCancellationReasonsConsortiumManager.waitLoading();
RequestCancellationReasonsConsortiumManager.checkMessage(
messages.created(cancelReason),
ConsortiaControlledVocabularyPaneset.waitLoading('Request cancellation reasons');
ConsortiumManagerApp.checkMessage(messages.created(cancelReason.name, 'All'));
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
[...Object.values(cancelReason), 'All'],
['edit', 'trash'],
);
RequestCancellationReasonsConsortiumManager.verifyReasonInTheList({
...cancelReason,
actions: ['edit', 'trash'],
});

RequestCancellationReasonsConsortiumManager.createViaUi(cancelReason2);
RequestCancellationReasonsConsortiumManager.clickSave();
ConsortiaControlledVocabularyPaneset.createViaUi(true, cancelReason2);
ConsortiaControlledVocabularyPaneset.clickSave();

ConfirmShare.waitLoadingConfirmShareToAll(cancelReason2.name);
ConfirmShare.clickKeepEditing();
RequestCancellationReasonsConsortiumManager.verifyEditModeElementsIsActive();
RequestCancellationReasonsConsortiumManager.clickCancel();
ConsortiaControlledVocabularyPaneset.verifyEditModeIsActive();
ConsortiaControlledVocabularyPaneset.clickCancel();

ConsortiaControlledVocabularyPaneset.createViaUi(true, { name: cancelReason.name });
ConsortiaControlledVocabularyPaneset.clickSave();
ConsortiaControlledVocabularyPaneset.verifyEditModeIsActive();
ConsortiaControlledVocabularyPaneset.verifyFieldValidatorError({
name: messages.notUnique('Name'),
});

RequestCancellationReasonsConsortiumManager.createViaUi(cancelReason);
RequestCancellationReasonsConsortiumManager.clickSave();
RequestCancellationReasonsConsortiumManager.verifyCancelReasonNameFailure(
messages.notUnique,
ConsortiaControlledVocabularyPaneset.clickCancel();
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
[...Object.values(cancelReason), 'All'],
['edit', 'trash'],
);
RequestCancellationReasonsConsortiumManager.clickCancel();

RequestCancellationReasonsConsortiumManager.verifyReasonInTheList({
...cancelReason,
actions: ['edit', 'trash'],
});

RequestCancellationReasonsConsortiumManager.performAction(
ConsortiaControlledVocabularyPaneset.performAction(
cancelReason.name,
reasonsActions.trash,
actionIcons.trash,
);
DeleteCancelReason.waitLoadingDeleteCancelReason(cancelReason.name);
DeleteCancelReason.waitLoadingDeleteModal('cancel reason', cancelReason.name);

DeleteCancelReason.clickCancel();
RequestCancellationReasonsConsortiumManager.verifyReasonInTheList({
...cancelReason,
actions: ['edit', 'trash'],
});
ConsortiaControlledVocabularyPaneset.verifyRecordInTheList(
[...Object.values(cancelReason), 'All'],
['edit', 'trash'],
);

RequestCancellationReasonsConsortiumManager.performAction(
ConsortiaControlledVocabularyPaneset.performAction(
cancelReason.name,
reasonsActions.trash,
actionIcons.trash,
);
DeleteCancelReason.waitLoadingDeleteCancelReason(cancelReason.name);
DeleteCancelReason.waitLoadingDeleteModal('cancel reason', cancelReason.name);
DeleteCancelReason.clickDelete();
RequestCancellationReasonsConsortiumManager.waitLoading();
RequestCancellationReasonsConsortiumManager.checkMessage(
messages.deleted(cancelReason),
);
RequestCancellationReasonsConsortiumManager.verifyNoReasonInTheList(cancelReason.name);
ConsortiaControlledVocabularyPaneset.waitLoading('Request cancellation reasons');
ConsortiumManagerApp.checkMessage(messages.deleted('cancel reason', cancelReason.name));
ConsortiaControlledVocabularyPaneset.verifyRecordNotInTheList(cancelReason.name);

cy.visit(SettingsMenu.circulationRequestCancellationReasonsPath);
CancellationReason.waitLoading();
CancellationReason.verifyNoReasonInTheList(cancelReason.name);
ConsortiaControlledVocabularyPaneset.verifyRecordNotInTheList(cancelReason.name);

ConsortiumManager.switchActiveAffiliation(tenantNames.central, tenantNames.college);
cy.visit(SettingsMenu.circulationRequestCancellationReasonsPath);
CancellationReason.waitLoading();
CancellationReason.verifyNoReasonInTheList(cancelReason.name);
ConsortiaControlledVocabularyPaneset.verifyRecordNotInTheList(cancelReason.name);

ConsortiumManager.switchActiveAffiliation(tenantNames.college, tenantNames.university);
cy.visit(SettingsMenu.circulationRequestCancellationReasonsPath);
CancellationReason.waitLoading();
CancellationReason.verifyNoReasonInTheList(cancelReason.name);
ConsortiaControlledVocabularyPaneset.verifyRecordNotInTheList(cancelReason.name);
},
);
});
Expand Down
Loading

0 comments on commit b4c3820

Please sign in to comment.