mermaid/cypress/integration/rendering/pie.spec.ts

86 lines
2.2 KiB
TypeScript
Raw Normal View History

2023-07-07 13:51:18 +02:00
import { imgSnapshotTest, renderGraph } from '../../helpers/util.ts';
2019-09-11 21:20:28 +02:00
describe('pie chart', () => {
2019-09-11 21:20:28 +02:00
it('should render a simple pie diagram', () => {
2019-09-18 18:25:06 +02:00
imgSnapshotTest(
`pie title Sports in Sweden
"Bandy": 40
"Ice-Hockey": 80
"Football": 90
2019-09-18 18:25:06 +02:00
`
);
});
it('should render a simple pie diagram with long labels', () => {
imgSnapshotTest(
`pie title NETFLIX
"Time spent looking for movie": 90
"Time spent watching it": 10
`
);
});
it('should render a simple pie diagram with capital letters for labels', () => {
imgSnapshotTest(
`pie title What Voldemort doesn't have?
"FRIENDS": 2
"FAMILY": 3
"NOSE": 45
`
);
2019-09-18 18:25:06 +02:00
});
2020-08-25 17:05:01 +02:00
it('should render a pie diagram when useMaxWidth is true (default)', () => {
renderGraph(
`pie title Sports in Sweden
"Bandy": 40
"Ice-Hockey": 80
"Football": 90
2020-08-25 17:05:01 +02:00
`,
{ pie: { useMaxWidth: true } }
);
cy.get('svg').should((svg) => {
expect(svg).to.have.attr('width', '100%');
const style = svg.attr('style');
expect(style).to.match(/^max-width: [\d.]+px;$/);
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
expect(maxWidthValue).to.be.within(590, 600); // depends on installed fonts: 596.2 on my PC, 597.5 on CI
});
2020-08-25 17:05:01 +02:00
});
2020-08-25 17:05:01 +02:00
it('should render a pie diagram when useMaxWidth is false', () => {
renderGraph(
`pie title Sports in Sweden
"Bandy": 40
"Ice-Hockey": 80
"Football": 90
2020-08-25 17:05:01 +02:00
`,
{ pie: { useMaxWidth: false } }
);
cy.get('svg').should((svg) => {
const width = parseFloat(svg.attr('width'));
expect(width).to.be.within(590, 600); // depends on installed fonts: 596.2 on my PC, 597.5 on CI
expect(svg).to.not.have.attr('style');
});
2020-08-25 17:05:01 +02:00
});
it('should render a pie diagram when textPosition is setted', () => {
imgSnapshotTest(
`pie
"Dogs": 50
"Cats": 25
`,
{ logLevel: 1, pie: { textPosition: 0.9 } }
);
});
it('should render a pie diagram with showData', () => {
imgSnapshotTest(
`pie showData
"Dogs": 50
"Cats": 25
`
);
});
2019-09-18 18:25:06 +02:00
});