diff --git a/cypress/e2e/eholdings/title+package/export-not-selected-package+title.cy.js b/cypress/e2e/eholdings/title+package/export-not-selected-package+title.cy.js index 1823325e38..97872be8e7 100644 --- a/cypress/e2e/eholdings/title+package/export-not-selected-package+title.cy.js +++ b/cypress/e2e/eholdings/title+package/export-not-selected-package+title.cy.js @@ -113,10 +113,9 @@ describe('eHoldings', () => { EHoldingsPackageView.selectTitleRecord(); eHoldingsResourceView.openExportModal(); ExportSettingsModal.clickExportButton(); - EHoldingsPackageView.verifyDetailViewPage(testData.title, testData.selectionStatus); EHoldingsPackageView.getJobIDFromCalloutMessage().then((id) => { const jobId = id; - + EHoldingsPackageView.waitForJobToComplete(jobId); cy.visit(TopMenu.exportManagerPath); ExportManagerSearchPane.searchByEHoldings(); ExportManagerSearchPane.verifyResult(jobId); diff --git a/cypress/support/fragments/eholdings/eHoldingsPackageView.js b/cypress/support/fragments/eholdings/eHoldingsPackageView.js index 2c85994ffd..004b103f02 100644 --- a/cypress/support/fragments/eholdings/eHoldingsPackageView.js +++ b/cypress/support/fragments/eholdings/eHoldingsPackageView.js @@ -1,3 +1,4 @@ +import { recurse } from 'cypress-recurse'; import { Button, HTML, @@ -181,6 +182,31 @@ export default { }); }, + waitForJobToComplete: (jobId) => { + function getImportJobStatus() { + return cy.okapiRequest({ + method: 'GET', + path: 'data-export-spring/jobs', + searchParams: { + limit: 100, + offset: 0, + query: `((name="*${jobId}*"))`, + }, + isDefaultSearchParamsRequired: false, + }); + } + recurse( + () => getImportJobStatus(), + (response) => { + return response.body.jobRecords[0].status === 'SUCCESSFUL'; + }, + { + limit: 10, + delay: 1_000, + }, + ); + }, + selectTitleFieldsToExport: (value) => { cy.do(titleFieldsSelect.select(value)); },