//Creating aliases for Cornerstone tools buttons export function initCornerstoneToolsAliases() { cy.get('[data-cy="StackScroll"]').as('stackScrollBtn'); cy.get('[data-cy="Zoom"]').as('zoomBtn'); cy.get('[data-cy="WindowLevel-split-button-primary"]').as('wwwcBtnPrimary'); cy.get('[data-cy="WindowLevel-split-button-secondary"]').as('wwwcBtnSecondary'); cy.get('[data-cy="Pan"]').as('panBtn'); cy.get('[data-cy="MeasurementTools-split-button-primary"]').as('measurementToolsBtnPrimary'); cy.get('[data-cy="MeasurementTools-split-button-secondary"]').as('measurementToolsBtnSecondary'); // cy.get('[data-cy="Angle"]').as('angleBtn'); cy.get('[data-cy="MoreTools-split-button-primary"]').as('moreBtnPrimary'); cy.get('[data-cy="MoreTools-split-button-secondary"]').as('moreBtnSecondary'); cy.get('[data-cy="Layout"]').as('layoutBtn'); cy.get('.cornerstone-viewport-element').as('viewport'); } //Creating aliases for Common page elements export function initCommonElementsAliases(skipMarkers) { cy.get('[data-cy="trackedMeasurements-btn"]').as('measurementsBtn'); cy.get('.cornerstone-viewport-element').as('viewport'); cy.get('[data-cy="seriesList-btn"]').as('seriesBtn'); cy.get('[data-cy="side-panel-header-right"]').as('RightCollapseBtn'); cy.get('[data-cy="side-panel-header-left"]').as('LeftCollapseBtn'); // click on the measurements button cy.get('[data-cy="trackedMeasurements-btn"]').click(); // TODO: Panels are not in DOM when closed, move this somewhere else cy.get('[data-cy="trackedMeasurements-panel"]').as('measurementsPanel'); cy.get('[data-cy="panelSegmentation-btn"]').as('segmentationPanel'); cy.get('[data-cy="studyBrowser-panel"]').as('seriesPanel'); cy.get('[data-cy="viewport-overlay-top-right"]').as('viewportInfoTopRight'); cy.get('[data-cy="viewport-overlay-top-left"]').as('viewportInfoTopLeft'); cy.get('[data-cy="viewport-overlay-bottom-right"]').as('viewportInfoBottomRight'); cy.get('[data-cy="viewport-overlay-bottom-left"]').as('viewportInfoBottomLeft'); console.debug('🚀 ~ skipMarkers:', skipMarkers); if (skipMarkers) { return; } try { cy.get('.left-mid.orientation-marker')?.as('viewportInfoMidLeft'); cy.get('.top-mid.orientation-marker')?.as('viewportInfoMidTop'); } catch (error) { console.log('Error: ', error); } } //Creating aliases for Routes export function initRouteAliases() { cy.intercept('GET', '**/series**', { statusCode: 200, body: [] }).as('getStudySeries'); // Todo: for some reason cypress does not redirect to the correct url // so we intercept the request and redirect it to the correct url cy.intercept('/studies?limit*', req => { const url = req.url.replace(/\/studies\?/, '/studies/?limit'); req.url = url; }); } //Creating aliases for Study List page elements on Desktop experience export function initStudyListAliasesOnDesktop() { cy.get('[data-cy="num-studies"]').as('numStudies'); cy.get('[data-cy="input-patientName"]').as('PatientName'); cy.get('[data-cy="input-mrn"]').as('MRN'); cy.get('[data-cy="input-accession"]').as('AccessionNumber'); cy.get('[data-cy="input-description"]').as('StudyDescription'); cy.get('[data-cy="study-list-results"]').as('searchResult'); cy.get('[data-cy="study-list-results"] > tr').as('searchResult2'); // We can't use data attributes (e.g. data--cy) for these since // they are using third party libraries (i.e. react-dates, react-select) cy.get('[data-cy="input-date-range-start"').as('studyListStartDate'); cy.get('[data-cy="input-date-range-end"').as('studyListEndDate'); cy.get('#input-modalities').as('modalities'); } //Creating aliases for User Preferences modal export function initPreferencesModalAliases() { cy.get('.OHIFModal').as('preferencesModal'); cy.get('[data-cy="hotkeys"]').as('userPreferencesHotkeysTab'); cy.get('[data-cy="general"]').as('userPreferencesGeneralTab'); cy.get('[data-cy="window-level"]').as('userPreferencesWindowLevelTab'); initPreferencesModalFooterBtnAliases(); } //Creating aliases for User Preferences modal export function initPreferencesModalFooterBtnAliases() { cy.get('.active [data-cy="reset-default-btn"]').as('restoreBtn'); cy.get('.active [data-cy="cancel-btn"]').as('cancelBtn'); cy.get('.active [data-cy="save-btn"]').as('saveBtn'); }