wisemapping-frontend/packages/editor/cypress/e2e/topicShape.cy.js

52 lines
1.9 KiB
JavaScript
Raw Normal View History

2022-01-26 20:25:11 +01:00
context('Change Topic shape', () => {
beforeEach(() => {
cy.visit('/editor.html');
cy.reload();
cy.contains('Try it Now!').click();
});
it('change to square shape', () => {
2022-10-31 16:32:51 +01:00
cy.get(`[aria-label="Topic Style"]`).trigger('mouseover');
cy.get(`[aria-label="Rectangle shape"]`).click();
2022-01-26 20:25:11 +01:00
2022-10-31 23:59:02 +01:00
cy.get('[test-id=11] > rect').eq(1).invoke('attr', 'rx').then(parseInt).should('be.a', 'number').should('eq', 0);
2022-01-26 20:25:11 +01:00
cy.matchImageSnapshot('changeToSquareShape');
});
2022-10-31 16:32:51 +01:00
it('change to rounded rectangle', () => {
cy.contains('Mind Mapping').click();
2022-01-26 20:25:11 +01:00
2022-10-31 16:32:51 +01:00
cy.get(`[aria-label="Topic Style"]`).trigger('mouseover');
cy.get(`[aria-label="Rounded shape"]`).click();
2022-01-26 20:25:11 +01:00
2022-10-31 21:23:49 +01:00
// Todo: Check how to validate this. Difference when it run in docker vs test:integration
cy.get('[test-id=6] > rect').eq(1).invoke('attr', 'rx').then(parseInt).should('be.a', 'number').should('be.gte', 4);
cy.get('[test-id=6] > rect').eq(1).invoke('attr', 'rx').then(parseInt).should('be.a', 'number').should('be.lt', 5);
2022-10-31 16:32:51 +01:00
cy.matchImageSnapshot('changeToRoundedRectangle');
2022-01-26 20:25:11 +01:00
});
it('change to line', () => {
2022-10-31 16:32:51 +01:00
cy.contains('Try it Now!').click();
2022-10-31 21:23:49 +01:00
2022-10-31 16:32:51 +01:00
cy.get(`[aria-label="Topic Style"]`).trigger('mouseover');
cy.get(`[aria-label="Line shape"]`).click();
2022-01-26 20:25:11 +01:00
cy.matchImageSnapshot('changeToLine');
});
2022-10-31 16:32:51 +01:00
it('change to ellipse shape', () => {
cy.contains('Productivity').click();
cy.get(`[aria-label="Topic Style"]`).trigger('mouseover');
cy.get(`[aria-label="Ellipse shape"]`).click();
2022-01-26 20:25:11 +01:00
2022-10-31 21:23:49 +01:00
// Todo: Check how to validate this. Difference when it run in docker vs test:integration
cy.get('[test-id=2] > rect').eq(1).invoke('attr', 'rx').then(parseInt).should('be.a', 'number').should('be.gte', 12);
cy.get('[test-id=2] > rect').eq(1).invoke('attr', 'rx').then(parseInt).should('be.a', 'number').should('be.lt', 15);
2022-01-26 20:25:11 +01:00
2022-10-31 16:32:51 +01:00
cy.matchImageSnapshot('changeToEllipseShape');
2022-01-26 20:25:11 +01:00
});
});