test: Try workaround for percy snapshot (#1084)
This commit is contained in:
parent
97786b808c
commit
3a12138134
@ -5,7 +5,7 @@ describe('OHIFStandaloneViewer', () => {
|
|||||||
|
|
||||||
it('loads route with at least 2 rows', () => {
|
it('loads route with at least 2 rows', () => {
|
||||||
cy.screenshot();
|
cy.screenshot();
|
||||||
cy.percySnapshot();
|
cy.percyCanvasSnapshot('Study List');
|
||||||
|
|
||||||
cy.get('#studyListData tr')
|
cy.get('#studyListData tr')
|
||||||
.its('length')
|
.its('length')
|
||||||
|
|||||||
@ -12,7 +12,7 @@ describe('OHIF Study Viewer Page', () => {
|
|||||||
|
|
||||||
it('checks if series thumbnails are being displayed', () => {
|
it('checks if series thumbnails are being displayed', () => {
|
||||||
cy.screenshot();
|
cy.screenshot();
|
||||||
cy.percySnapshot();
|
cy.percyCanvasSnapshot('Series Thumbnails');
|
||||||
|
|
||||||
cy.get('[data-cy="thumbnail-list"]')
|
cy.get('[data-cy="thumbnail-list"]')
|
||||||
.its('length')
|
.its('length')
|
||||||
|
|||||||
@ -22,6 +22,6 @@ describe('OHIF Microscopy Extension', () => {
|
|||||||
|
|
||||||
cy.wait(3000); //Waiting for image to render before taking the snapshot
|
cy.wait(3000); //Waiting for image to render before taking the snapshot
|
||||||
cy.screenshot();
|
cy.screenshot();
|
||||||
cy.percySnapshot();
|
cy.percyCanvasSnapshot('Microscopy Extension');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -21,6 +21,6 @@ describe('OHIF PDF Extension', () => {
|
|||||||
.should('be.eq', 1);
|
.should('be.eq', 1);
|
||||||
|
|
||||||
cy.screenshot();
|
cy.screenshot();
|
||||||
cy.percySnapshot();
|
cy.percyCanvasSnapshot('PDF Extension');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -29,7 +29,7 @@ describe('OHIF VTK Extension', () => {
|
|||||||
|
|
||||||
it('checks if VTK buttons are displayed on the toolbar', () => {
|
it('checks if VTK buttons are displayed on the toolbar', () => {
|
||||||
cy.screenshot();
|
cy.screenshot();
|
||||||
cy.percySnapshot();
|
cy.percyCanvasSnapshot('VTK Extension');
|
||||||
|
|
||||||
cy.get('@crosshairsBtn')
|
cy.get('@crosshairsBtn')
|
||||||
.should('be.visible')
|
.should('be.visible')
|
||||||
|
|||||||
@ -306,3 +306,32 @@ Cypress.Commands.add('isInViewport', element => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Percy.io Canvas screenshot workaround
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Cypress.Commands.add('percyCanvasSnapshot', (name, options = {}) => {
|
||||||
|
function convertCanvas(document) {
|
||||||
|
document
|
||||||
|
.querySelectorAll('canvas')
|
||||||
|
.forEach(selector => canvasToImage(selector));
|
||||||
|
}
|
||||||
|
|
||||||
|
function canvasToImage(selectorOrEl) {
|
||||||
|
let canvas =
|
||||||
|
typeof selectorOrEl === 'object'
|
||||||
|
? selectorOrEl
|
||||||
|
: document.querySelector(selectorOrEl);
|
||||||
|
let image = document.createElement('img');
|
||||||
|
let canvasImageBase64 = canvas.toDataURL();
|
||||||
|
|
||||||
|
image.src = canvasImageBase64;
|
||||||
|
image.style = 'max-width: 100%';
|
||||||
|
canvas.setAttribute('data-percy-modified', true);
|
||||||
|
canvas.parentElement.appendChild(image);
|
||||||
|
canvas.style = 'display: none';
|
||||||
|
}
|
||||||
|
|
||||||
|
cy.percySnapshot(name, { ...options, domTransformation: convertCanvas });
|
||||||
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user