Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FAT-10355 FAT-10356 #3420

Merged
merged 5 commits into from May 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,119 @@
import uuid from 'uuid';
import { ITEM_STATUS_NAMES } from '../../../../support/constants';
import Affiliations from '../../../../support/dictionary/affiliations';
import Permissions from '../../../../support/dictionary/permissions';
import InventoryInstance from '../../../../support/fragments/inventory/inventoryInstance';
import InventoryInstances from '../../../../support/fragments/inventory/inventoryInstances';
import Locations from '../../../../support/fragments/settings/tenant/location-setup/locations';
import ServicePoints from '../../../../support/fragments/settings/tenant/servicePoints/servicePoints';
import TopMenu from '../../../../support/fragments/topMenu';
import Users from '../../../../support/fragments/users/users';
import getRandomPostfix from '../../../../support/utils/stringTools';

describe('Inventory', () => {
describe('Instance', () => {
const testData = {
instanceTitle: `C411616 Instance ${getRandomPostfix()}`,
itemBarcode: uuid(),
};

before('Create test data', () => {
cy.getAdminToken();
cy.getConsortiaId().then((consortiaId) => {
testData.consortiaId = consortiaId;
});
cy.setTenant(Affiliations.College);
cy.getCollegeAdminToken()
.then(() => {
cy.getInstanceTypes({ limit: 1 }).then((instanceTypes) => {
testData.instanceTypeId = instanceTypes[0].id;
});
cy.getHoldingTypes({ limit: 1 }).then((res) => {
testData.holdingTypeId = res[0].id;
});
const collegeLocationData = Locations.getDefaultLocation({
servicePointId: ServicePoints.getDefaultServicePoint().id,
}).location;
Locations.createViaApi(collegeLocationData).then((location) => {
testData.collegeLocation = location;
});
cy.getLoanTypes({ limit: 1 }).then((res) => {
testData.loanTypeId = res[0].id;
});
cy.getMaterialTypes({ limit: 1 }).then((res) => {
testData.materialTypeId = res.id;
});
})
.then(() => {
InventoryInstances.createFolioInstanceViaApi({
instance: {
instanceTypeId: testData.instanceTypeId,
title: testData.instanceTitle,
},
holdings: [
{
holdingsTypeId: testData.holdingTypeId,
permanentLocationId: testData.collegeLocation.id,
},
],
items: [
{
barcode: testData.itemBarcode,
status: { name: ITEM_STATUS_NAMES.AVAILABLE },
permanentLoanType: { id: testData.loanTypeId },
materialType: { id: testData.materialTypeId },
},
],
}).then((specialInstanceIds) => {
testData.testInstanceIds = specialInstanceIds;

InventoryInstance.shareInstanceViaApi(
specialInstanceIds.instanceId,
testData.consortiaId,
Affiliations.College,
Affiliations.Consortia,
);
});
});

cy.resetTenant();
cy.createTempUser([Permissions.inventoryAll.gui]).then((userProperties) => {
testData.user = userProperties;

cy.assignAffiliationToUser(Affiliations.College, testData.user.userId);
cy.setTenant(Affiliations.College);
cy.assignPermissionsToExistingUser(testData.user.userId, [Permissions.inventoryAll.gui]);

cy.login(testData.user.username, testData.user.password, {
path: TopMenu.inventoryPath,
waiter: InventoryInstances.waitContentLoading,
});
});
});

after('Delete test data', () => {
cy.resetTenant();
cy.getAdminToken();
Users.deleteViaApi(testData.user.userId);
cy.setTenant(Affiliations.College);
InventoryInstances.deleteInstanceAndHoldingRecordAndAllItemsViaApi(testData.itemBarcode);
Locations.deleteViaApi(testData.collegeLocation);
});

it(
'C411616 (CONSORTIA) Verify the Consortial holdings accordion details on shared Instance in Central Tenant (consortia) (folijet)',
{ tags: ['extendedPathECS', 'folijet'] },
() => {
InventoryInstances.searchByTitle(testData.instanceTitle);
InventoryInstances.selectInstance();
InventoryInstance.waitLoading();
InventoryInstance.verifyConsortiaHoldingsAccordion(false);
InventoryInstance.expandConsortiaHoldings();
InventoryInstance.verifyMemberSubHoldingsAccordion(Affiliations.College);
InventoryInstance.expandMemberSubHoldings(Affiliations.College);
InventoryInstance.openHoldingsAccordion(testData.collegeLocation.name);
InventoryInstance.checkIsItemCreated(testData.itemBarcode);
},
);
});
});
@@ -0,0 +1,67 @@
import Affiliations, { tenantNames } from '../../../../support/dictionary/affiliations';
import Permissions from '../../../../support/dictionary/permissions';
import InventoryInstance from '../../../../support/fragments/inventory/inventoryInstance';
import InventoryInstances from '../../../../support/fragments/inventory/inventoryInstances';
import ConsortiumManager from '../../../../support/fragments/settings/consortium-manager/consortium-manager';
import TopMenu from '../../../../support/fragments/topMenu';
import Users from '../../../../support/fragments/users/users';

describe('Inventory', () => {
describe('Instance', () => {
const testData = {};

before('Create test data', () => {
cy.getAdminToken();
cy.getConsortiaId().then((consortiaId) => {
testData.consortiaId = consortiaId;
});
cy.setTenant(Affiliations.College);
InventoryInstance.createInstanceViaApi().then(({ instanceData }) => {
testData.instance = instanceData;
InventoryInstance.shareInstanceViaApi(
testData.instance.instanceId,
testData.consortiaId,
Affiliations.College,
Affiliations.Consortia,
);
});

cy.resetTenant();
cy.createTempUser([Permissions.inventoryAll.gui]).then((userProperties) => {
testData.user = userProperties;

cy.assignAffiliationToUser(Affiliations.College, testData.user.userId);
cy.setTenant(Affiliations.College);
cy.assignPermissionsToExistingUser(testData.user.userId, [Permissions.inventoryAll.gui]);

cy.login(testData.user.username, testData.user.password);

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

after('Delete test data', () => {
cy.resetTenant();
cy.getAdminToken();
Users.deleteViaApi(testData.user.userId);
cy.setTenant(Affiliations.College);
InventoryInstance.deleteInstanceViaApi(testData.instance.instanceId);
});

it(
'C411615 (CONSORTIA) Verify the Consortial holdings accordion on shadow Instance in Member Tenant (consortia) (folijet)',
{ tags: ['extendedPathECS', 'folijet'] },
() => {
cy.visit(TopMenu.inventoryPath);
InventoryInstances.waitContentLoading();

InventoryInstances.searchByTitle(testData.instance.instanceId);
InventoryInstances.selectInstance();
InventoryInstance.waitLoading();
InventoryInstance.verifyConsortiaHoldingsAccordion();
},
);
});
});
Expand Up @@ -9,13 +9,11 @@ import Locations from '../../../../support/fragments/settings/tenant/location-se
import ServicePoints from '../../../../support/fragments/settings/tenant/servicePoints/servicePoints';
import TopMenu from '../../../../support/fragments/topMenu';
import Users from '../../../../support/fragments/users/users';
import getRandomPostfix from '../../../../support/utils/stringTools';

describe.skip('Inventory', () => {
describe('Instance', () => {
let user;
const testData = {
newInstanceTitle: `C411384 instanceTitle${getRandomPostfix()}`,
servicePoint: ServicePoints.defaultServicePoint,
};

Expand Down
10 changes: 5 additions & 5 deletions cypress/support/fragments/inventory/instanceRecordView.js
Expand Up @@ -32,7 +32,7 @@ const electronicAccessAccordion = Accordion('Electronic access');
const classificationAccordion = Accordion('Classification');
const listClassifications = MultiColumnList({ id: 'list-classifications' });
const descriptiveDataAccordion = Accordion('Descriptive data');
const adminDataAcoordion = Accordion('Administrative data');
const adminDataAccordion = Accordion('Administrative data');
const publisherList = descriptiveDataAccordion.find(MultiColumnList({ id: 'list-publication' }));

const verifyResourceTitle = (value) => {
Expand Down Expand Up @@ -341,7 +341,7 @@ export default {
verifyMarkedAsStaffSuppressed() {
cy.expect(
rootSection
.find(adminDataAcoordion)
.find(adminDataAccordion)
.find(HTML(including('Staff suppressed')))
.exists(),
);
Expand All @@ -350,7 +350,7 @@ export default {
verifyNotMarkAssuppressFromDiscavery() {
cy.expect(
rootSection
.find(adminDataAcoordion)
.find(adminDataAccordion)
.find(HTML(including('Suppressed from discovery')))
.absent(),
);
Expand All @@ -359,7 +359,7 @@ export default {
verifyMarkedAsPreviouslyHeld() {
cy.expect(
rootSection
.find(adminDataAcoordion)
.find(adminDataAccordion)
.find(HTML(including('Previously held')))
.exists(),
);
Expand All @@ -368,7 +368,7 @@ export default {
verifyNotMarkAsPreviouslyHeld() {
cy.expect(
rootSection
.find(adminDataAcoordion)
.find(adminDataAccordion)
.find(HTML(including('Previously held')))
.absent(),
);
Expand Down