collab/mermaid/cypress/integration/rendering/quadrantChart.spec.jsblame
View source
6dd74de1import { imgSnapshotTest } from '../../helpers/util.ts';
6dd74de2
6dd74de3describe('Quadrant Chart', () => {
6dd74de4 it('should render if only chart type is provided', () => {
6dd74de5 imgSnapshotTest(
6dd74de6 `
6dd74de7 quadrantChart
6dd74de8 `,
6dd74de9 {}
6dd74de10 );
6dd74de11 });
6dd74de12 it('should render a complete quadrant chart', () => {
6dd74de13 imgSnapshotTest(
6dd74de14 `
6dd74de15 quadrantChart
6dd74de16 title Reach and engagement of campaigns
6dd74de17 x-axis Low Reach --> High Reach
6dd74de18 y-axis Low Engagement --> High Engagement
6dd74de19 quadrant-1 We should expand
6dd74de20 quadrant-2 Need to promote
6dd74de21 quadrant-3 Re-evaluate
6dd74de22 quadrant-4 May be improved
6dd74de23 Campaign A: [0.3, 0.6]
6dd74de24 Campaign B: [0.45, 0.23]
6dd74de25 Campaign C: [0.57, 0.69]
6dd74de26 Campaign D: [0.78, 0.34]
6dd74de27 Campaign E: [0.40, 0.34]
6dd74de28 Campaign F: [0.35, 0.78]
6dd74de29 `,
6dd74de30 {}
6dd74de31 );
6dd74de32 });
6dd74de33 it('should render without points', () => {
6dd74de34 imgSnapshotTest(
6dd74de35 `
6dd74de36 quadrantChart
6dd74de37 title Reach and engagement of campaigns
6dd74de38 x-axis Low Reach --> High Reach
6dd74de39 y-axis Low Engagement --> High Engagement
6dd74de40 quadrant-1 We should expand
6dd74de41 quadrant-2 Need to promote
6dd74de42 quadrant-3 Re-evaluate
6dd74de43 quadrant-4 May be improved
6dd74de44 `,
6dd74de45 {}
6dd74de46 );
6dd74de47 });
6dd74de48 it('should able to render y-axis on right side', () => {
6dd74de49 imgSnapshotTest(
6dd74de50 `
6dd74de51 %%{init: {"quadrantChart": {"yAxisPosition": "right"}}}%%
6dd74de52 quadrantChart
6dd74de53 title Reach and engagement of campaigns
6dd74de54 x-axis Low Reach --> High Reach
6dd74de55 y-axis Low Engagement --> High Engagement
6dd74de56 quadrant-1 We should expand
6dd74de57 quadrant-2 Need to promote
6dd74de58 quadrant-3 Re-evaluate
6dd74de59 quadrant-4 May be improved
6dd74de60 `,
6dd74de61 {}
6dd74de62 );
6dd74de63 });
6dd74de64 it('should able to render x-axis on bottom', () => {
6dd74de65 imgSnapshotTest(
6dd74de66 `
6dd74de67 %%{init: {"quadrantChart": {"xAxisPosition": "bottom"}}}%%
6dd74de68 quadrantChart
6dd74de69 title Reach and engagement of campaigns
6dd74de70 x-axis Low Reach --> High Reach
6dd74de71 y-axis Low Engagement --> High Engagement
6dd74de72 quadrant-1 We should expand
6dd74de73 quadrant-2 Need to promote
6dd74de74 quadrant-3 Re-evaluate
6dd74de75 quadrant-4 May be improved
6dd74de76 `,
6dd74de77 {}
6dd74de78 );
6dd74de79 });
6dd74de80 it('should able to render x-axis on bottom and y-axis on right', () => {
6dd74de81 imgSnapshotTest(
6dd74de82 `
6dd74de83 %%{init: {"quadrantChart": {"xAxisPosition": "bottom", "yAxisPosition": "right"}}}%%
6dd74de84 quadrantChart
6dd74de85 title Reach and engagement of campaigns
6dd74de86 x-axis Low Reach --> High Reach
6dd74de87 y-axis Low Engagement --> High Engagement
6dd74de88 quadrant-1 We should expand
6dd74de89 quadrant-2 Need to promote
6dd74de90 quadrant-3 Re-evaluate
6dd74de91 quadrant-4 May be improved
6dd74de92 `,
6dd74de93 {}
6dd74de94 );
6dd74de95 });
6dd74de96 it('should render without title', () => {
6dd74de97 imgSnapshotTest(
6dd74de98 `
6dd74de99 quadrantChart
6dd74de100 x-axis Low Reach --> High Reach
6dd74de101 y-axis Low Engagement --> High Engagement
6dd74de102 quadrant-1 We should expand
6dd74de103 quadrant-2 Need to promote
6dd74de104 quadrant-3 Re-evaluate
6dd74de105 quadrant-4 May be improved
6dd74de106 `,
6dd74de107 {}
6dd74de108 );
6dd74de109 });
6dd74de110 it('should use all the config', () => {
6dd74de111 imgSnapshotTest(
6dd74de112 `
6dd74de113 %%{init: {"quadrantChart": {"chartWidth": 600, "chartHeight": 600, "titlePadding": 20, "titleFontSize": 10, "quadrantPadding": 20, "quadrantTextTopPadding": 40, "quadrantLabelFontSize": 20, "quadrantInternalBorderStrokeWidth": 3, "quadrantExternalBorderStrokeWidth": 5, "xAxisLabelPadding": 20, "xAxisLabelFontSize": 20, "yAxisLabelPadding": 20, "yAxisLabelFontSize": 20, "pointTextPadding": 20, "pointLabelFontSize": 20, "pointRadius": 10 }}}%%
6dd74de114 quadrantChart
6dd74de115 title Reach and engagement of campaigns
6dd74de116 x-axis Low Reach --> High Reach
6dd74de117 y-axis Low Engagement --> High Engagement
6dd74de118 quadrant-1 We should expand
6dd74de119 quadrant-2 Need to promote
6dd74de120 quadrant-3 Re-evaluate
6dd74de121 quadrant-4 May be improved
6dd74de122 Campaign A: [0.3, 0.6]
6dd74de123 Campaign B: [0.45, 0.23]
6dd74de124 Campaign C: [0.57, 0.69]
6dd74de125 Campaign D: [0.78, 0.34]
6dd74de126 Campaign E: [0.40, 0.34]
6dd74de127 Campaign F: [0.35, 0.78]
6dd74de128 `,
6dd74de129 {}
6dd74de130 );
6dd74de131 });
6dd74de132 it('should use all the theme variable', () => {
6dd74de133 imgSnapshotTest(
6dd74de134 `
6dd74de135 %%{init: {"themeVariables": {"quadrant1Fill": "#b4dcff","quadrant2Fill": "#fef0ff", "quadrant3Fill": "#fffaf0", "quadrant4Fill": "#f0fff2", "quadrant1TextFill": "#ff0000", "quadrant2TextFill": "#2d00df", "quadrant3TextFill": "#00ffda", "quadrant4TextFill": "#e68300", "quadrantPointFill": "#0149ff", "quadrantPointTextFill": "#dc00ff", "quadrantXAxisTextFill": "#ffb500", "quadrantYAxisTextFill": "#fae604", "quadrantInternalBorderStrokeFill": "#3636f2", "quadrantExternalBorderStrokeFill": "#ff1010", "quadrantTitleFill": "#00ea19"} }}%%
6dd74de136 quadrantChart
6dd74de137 title Reach and engagement of campaigns
6dd74de138 x-axis Low Reach --> High Reach
6dd74de139 y-axis Low Engagement --> High Engagement
6dd74de140 quadrant-1 We should expand
6dd74de141 quadrant-2 Need to promote
6dd74de142 quadrant-3 Re-evaluate
6dd74de143 quadrant-4 May be improved
6dd74de144 Campaign A: [0.3, 0.6]
6dd74de145 Campaign B: [0.45, 0.23]
6dd74de146 Campaign C: [0.57, 0.69]
6dd74de147 Campaign D: [0.78, 0.34]
6dd74de148 Campaign E: [0.40, 0.34]
6dd74de149 Campaign F: [0.35, 0.78]
6dd74de150 `,
6dd74de151 {}
6dd74de152 );
6dd74de153 });
6dd74de154 it('should render x-axis labels in the center, if x-axis has two labels', () => {
6dd74de155 imgSnapshotTest(
6dd74de156 `
6dd74de157 quadrantChart
6dd74de158 title Reach and engagement of campaigns
6dd74de159 x-axis Low Reach --> High Reach
6dd74de160 y-axis Low Engagement
6dd74de161 quadrant-1 We should expand
6dd74de162 quadrant-2 Need to promote
6dd74de163 quadrant-3 Re-evaluate
6dd74de164 quadrant-4 May be improved
6dd74de165 Campaign A: [0.3, 0.6]
6dd74de166 Campaign B: [0.45, 0.23]
6dd74de167 Campaign C: [0.57, 0.69]
6dd74de168 Campaign D: [0.78, 0.34]
6dd74de169 Campaign E: [0.40, 0.34]
6dd74de170 Campaign F: [0.35, 0.78]
6dd74de171 `,
6dd74de172 {}
6dd74de173 );
6dd74de174 });
6dd74de175 it('should render y-axis labels in the center, if y-axis has two labels', () => {
6dd74de176 imgSnapshotTest(
6dd74de177 `
6dd74de178 quadrantChart
6dd74de179 title Reach and engagement of campaigns
6dd74de180 x-axis Low Reach
6dd74de181 y-axis Low Engagement --> High Engagement
6dd74de182 quadrant-1 We should expand
6dd74de183 quadrant-2 Need to promote
6dd74de184 quadrant-3 Re-evaluate
6dd74de185 quadrant-4 May be improved
6dd74de186 Campaign A: [0.3, 0.6]
6dd74de187 Campaign B: [0.45, 0.23]
6dd74de188 Campaign C: [0.57, 0.69]
6dd74de189 Campaign D: [0.78, 0.34]
6dd74de190 Campaign E: [0.40, 0.34]
6dd74de191 Campaign F: [0.35, 0.78]
6dd74de192 `,
6dd74de193 {}
6dd74de194 );
6dd74de195 });
6dd74de196 it('should render both axes labels on the left and bottom, if both axes have only one label', () => {
6dd74de197 imgSnapshotTest(
6dd74de198 `
6dd74de199 quadrantChart
6dd74de200 title Reach and engagement of campaigns
6dd74de201 x-axis Reach -->
6dd74de202 y-axis Engagement -->
6dd74de203 quadrant-1 We should expand
6dd74de204 quadrant-2 Need to promote
6dd74de205 quadrant-3 Re-evaluate
6dd74de206 quadrant-4 May be improved
6dd74de207 Campaign A: [0.3, 0.6]
6dd74de208 Campaign B: [0.45, 0.23]
6dd74de209 Campaign C: [0.57, 0.69]
6dd74de210 Campaign D: [0.78, 0.34]
6dd74de211 Campaign E: [0.40, 0.34]
6dd74de212 Campaign F: [0.35, 0.78]
6dd74de213 `,
6dd74de214 {}
6dd74de215 );
6dd74de216 });
6dd74de217
6dd74de218 it('it should render data points with styles', () => {
6dd74de219 imgSnapshotTest(
6dd74de220 `
6dd74de221 quadrantChart
6dd74de222 title Reach and engagement of campaigns
6dd74de223 x-axis Reach -->
6dd74de224 y-axis Engagement -->
6dd74de225 quadrant-1 We should expand
6dd74de226 quadrant-2 Need to promote
6dd74de227 quadrant-3 Re-evaluate
6dd74de228 quadrant-4 May be improved
6dd74de229 Campaign A: [0.3, 0.6] radius: 20
6dd74de230 Campaign B: [0.45, 0.23] color: #ff0000
6dd74de231 Campaign C: [0.57, 0.69] stroke-color: #ff00ff
6dd74de232 Campaign D: [0.78, 0.34] stroke-width: 3px
6dd74de233 Campaign E: [0.40, 0.34] radius: 20, color: #ff0000 , stroke-color : #ff00ff, stroke-width : 3px
6dd74de234 Campaign F: [0.35, 0.78] stroke-width: 3px , color: #ff0000, radius: 20, stroke-color: #ff00ff
6dd74de235 Campaign G: [0.22, 0.22] stroke-width: 3px , color: #309708 , radius : 20 , stroke-color: #5060ff
6dd74de236 Campaign H: [0.22, 0.44]
6dd74de237 `,
6dd74de238 {}
6dd74de239 );
6dd74de240 });
6dd74de241
6dd74de242 it('it should render data points with styles + classes', () => {
6dd74de243 imgSnapshotTest(
6dd74de244 `
6dd74de245 quadrantChart
6dd74de246 title Reach and engagement of campaigns
6dd74de247 x-axis Reach -->
6dd74de248 y-axis Engagement -->
6dd74de249 quadrant-1 We should expand
6dd74de250 quadrant-2 Need to promote
6dd74de251 quadrant-3 Re-evaluate
6dd74de252 quadrant-4 May be improved
6dd74de253 Campaign A:::class1: [0.3, 0.6] radius: 20
6dd74de254 Campaign B: [0.45, 0.23] color: #ff0000
6dd74de255 Campaign C: [0.57, 0.69] stroke-color: #ff00ff
6dd74de256 Campaign D:::class2: [0.78, 0.34] stroke-width: 3px
6dd74de257 Campaign E:::class2: [0.40, 0.34] radius: 20, color: #ff0000, stroke-color: #ff00ff, stroke-width: 3px
6dd74de258 Campaign F:::class1: [0.35, 0.78]
6dd74de259 classDef class1 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10px
6dd74de260 classDef class2 color: #f00fff, radius : 10
6dd74de261 `
6dd74de262 );
6dd74de263 });
6dd74de264});