Skip to content

Commit

Permalink
FAT-10468/C414981-Consortia (#2997)
Browse files Browse the repository at this point in the history
* added test C414981

* linter fix
  • Loading branch information
Sherzod-Kenjaev committed Jan 8, 2024
1 parent 1108baf commit 7d2b21f
Show file tree
Hide file tree
Showing 2 changed files with 167 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
import Permissions from '../../support/dictionary/permissions';
import Affiliations, { tenantNames } from '../../support/dictionary/affiliations';
import Users from '../../support/fragments/users/users';
import TopMenu from '../../support/fragments/topMenu';
import InventoryInstances from '../../support/fragments/inventory/inventoryInstances';
import ConsortiumManager from '../../support/fragments/settings/consortium-manager/consortium-manager';
import { BROWSE_CALL_NUMBER_OPTIONS } from '../../support/constants';
import InventorySearchAndFilter from '../../support/fragments/inventory/inventorySearchAndFilter';
import BrowseContributors from '../../support/fragments/inventory/search/browseContributors';

describe('Inventory -> Call Number Browse -> Consortia', () => {
const testData = {
contributor: 'Contributors',
value: 'a',
subject: 'Subjects',
};

const Dropdowns = {
EFFECTIVE_LOCATION: 'Effective location (item)',
NAME_TYPE: 'Name type',
SHARED: 'Shared',
HELD_BY: 'Held by',
};

const users = {};

before('Create users, data', () => {
cy.getAdminToken();

cy.createTempUser([Permissions.uiInventoryViewInstances.gui])
.then((userProperties) => {
users.userProperties = userProperties;
})
.then(() => {
cy.assignAffiliationToUser(Affiliations.College, users.userProperties.userId);
cy.setTenant(Affiliations.College);
cy.assignPermissionsToExistingUser(users.userProperties.userId, [
Permissions.uiInventoryViewInstances.gui,
]);
})
.then(() => {
cy.resetTenant();
cy.login(users.userProperties.username, users.userProperties.password, {
path: TopMenu.inventoryPath,
waiter: InventoryInstances.waitContentLoading,
}).then(() => {
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.central);
ConsortiumManager.switchActiveAffiliation(tenantNames.college);
InventoryInstances.waitContentLoading();
ConsortiumManager.checkCurrentTenantInTopMenu(tenantNames.college);
});
});
});

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

it(
'C414981 Facet options shown after clicking "Reset all" in Browse and performing search in Member tenant (consortia) (spitfire)',
{ tags: ['criticalPath', 'spitfire'] },
() => {
InventorySearchAndFilter.switchToBrowseTab();
InventorySearchAndFilter.verifyBrowseOptions();
InventorySearchAndFilter.selectBrowseOption(testData.contributor);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.NAME_TYPE);
InventorySearchAndFilter.clickResetAllButton();
BrowseContributors.checkBrowseQueryText('');
InventorySearchAndFilter.filtersIsAbsent();
InventorySearchAndFilter.selectBrowseOption(testData.contributor);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.NAME_TYPE);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.SHARED, true);
InventorySearchAndFilter.verifyCheckboxInAccordion(Dropdowns.SHARED, 'Yes');
InventorySearchAndFilter.clickAccordionByName(Dropdowns.NAME_TYPE);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.NAME_TYPE, true);
InventorySearchAndFilter.verifyNameTypeOption('Personal name');

InventorySearchAndFilter.selectBrowseOption(testData.subject);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.clickResetAllButton();
BrowseContributors.checkBrowseQueryText('');
InventorySearchAndFilter.filtersIsAbsent();
InventorySearchAndFilter.selectBrowseOption(testData.subject);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.SHARED, true);
InventorySearchAndFilter.verifyCheckboxInAccordion(Dropdowns.SHARED, 'Yes');

InventorySearchAndFilter.selectBrowseOption(BROWSE_CALL_NUMBER_OPTIONS.CALL_NUMBERS_ALL);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.HELD_BY);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.EFFECTIVE_LOCATION);
InventorySearchAndFilter.clickResetAllButton();
BrowseContributors.checkBrowseQueryText('');
InventorySearchAndFilter.filtersIsAbsent();
InventorySearchAndFilter.selectBrowseOption(BROWSE_CALL_NUMBER_OPTIONS.CALL_NUMBERS_ALL);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.SHARED, true);
InventorySearchAndFilter.verifyCheckboxInAccordion(Dropdowns.SHARED, 'Yes');
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.HELD_BY);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.HELD_BY);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.HELD_BY, true);
InventorySearchAndFilter.verifyCheckboxInAccordion(Dropdowns.HELD_BY, 'University');
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.EFFECTIVE_LOCATION);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.EFFECTIVE_LOCATION);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.EFFECTIVE_LOCATION, true);
InventorySearchAndFilter.verifyTextFieldInAccordion(Dropdowns.EFFECTIVE_LOCATION, '');

InventorySearchAndFilter.selectBrowseOption(BROWSE_CALL_NUMBER_OPTIONS.DEWEY_DECIMAL);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.HELD_BY);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.EFFECTIVE_LOCATION);
InventorySearchAndFilter.clickResetAllButton();
BrowseContributors.checkBrowseQueryText('');
InventorySearchAndFilter.filtersIsAbsent();
InventorySearchAndFilter.selectBrowseOption(BROWSE_CALL_NUMBER_OPTIONS.DEWEY_DECIMAL);
InventorySearchAndFilter.browseSearch(testData.value);
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.SHARED);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.SHARED);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.SHARED, true);
InventorySearchAndFilter.verifyCheckboxInAccordion(Dropdowns.SHARED, 'Yes');
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.HELD_BY);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.HELD_BY);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.HELD_BY, true);
InventorySearchAndFilter.verifyCheckboxInAccordion(Dropdowns.HELD_BY, 'University');
InventorySearchAndFilter.verifyAccordionExistance(Dropdowns.EFFECTIVE_LOCATION);
InventorySearchAndFilter.clickAccordionByName(Dropdowns.EFFECTIVE_LOCATION);
InventorySearchAndFilter.verifyAccordionByNameExpanded(Dropdowns.EFFECTIVE_LOCATION, true);
InventorySearchAndFilter.verifyTextFieldInAccordion(Dropdowns.EFFECTIVE_LOCATION, '');
},
);
});
22 changes: 22 additions & 0 deletions cypress/support/fragments/inventory/inventorySearchAndFilter.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ const itemStatusSearchField = TextField('itemStatus-field');
const holdingsToggleButton = Button({ id: 'segment-navigation-holdings' });
const itemToggleButton = Button({ id: 'segment-navigation-items' });
const searchTypeDropdown = Select('Search field index');
const nameTypeAccordion = Accordion({ id: 'nameType' });

const searchInstanceByHRID = (id) => {
cy.do([
Expand Down Expand Up @@ -798,6 +799,10 @@ export default {
cy.expect(keywordInput.has({ value: '' }));
},

verifyAccordionExistance(accordionName) {
cy.expect(Accordion(accordionName).exists());
},

verifyAccordionByNameExpanded(accordionName, status = true) {
cy.expect(Accordion(accordionName).has({ open: status }));
},
Expand All @@ -816,6 +821,23 @@ export default {
);
},

verifyCheckboxInAccordion(accordionName, checkboxValue) {
cy.expect(Accordion(accordionName).find(Checkbox(checkboxValue)).exists());
},

verifyTextFieldInAccordion(accordionName, textFieldValue) {
cy.expect(Accordion(accordionName).find(TextField({ value: including(textFieldValue) })).exists());
},

verifyNameTypeOption(option) {
cy.do(nameTypeAccordion.find(Button({ ariaLabel: 'open menu' })).click());
cy.expect(
nameTypeAccordion
.find(MultiSelectOption(including(option)))
.exists()
);
},

selectOptionInExpandedFilter(accordionName, optionName, selected = true) {
const checkbox = Accordion(accordionName).find(Checkbox(optionName));
cy.do(checkbox.click());
Expand Down

0 comments on commit 7d2b21f

Please sign in to comment.