1
- import VueUiVerticalBar from './vue-ui-vertical-bar.vue'
1
+ import VueUiVerticalBar from './vue-ui-vertical-bar.vue' ;
2
+ import { components } from '../../cypress/fixtures/vdui-components' ;
3
+ import { testCommonFeatures } from '../../cypress/fixtures' ;
2
4
3
- describe ( '<VueUiVerticalBar />' , ( ) => {
4
-
5
- beforeEach ( function ( ) {
6
- cy . fixture ( 'vertical-bar.json' ) . as ( 'fixture' ) ;
7
- cy . viewport ( 1000 , 800 ) ;
8
- } ) ;
9
-
10
- it ( 'segregates series when selecting legend items' , ( ) => {
11
- cy . get ( '@fixture' ) . then ( ( fixture ) => {
12
- cy . mount ( VueUiVerticalBar , {
13
- props : {
14
- dataset : fixture . dataset ,
15
- config : fixture . config
16
- }
17
- } ) ;
18
-
19
- cy . get ( '[data-cy-legend-item]' ) . eq ( 0 ) . click ( )
20
- cy . get ( '[data-cy-trap]' ) . should ( 'have.length' , 7 )
21
- cy . get ( '[data-cy-legend-item]' ) . eq ( 0 ) . click ( )
22
- cy . get ( '[data-cy-trap]' ) . should ( 'have.length' , 8 )
23
- } ) ;
24
- } )
25
-
26
- it ( 'renders' , ( ) => {
27
- cy . get ( '@fixture' ) . then ( ( fixture ) => {
28
- cy . mount ( VueUiVerticalBar , {
29
- props : {
30
- dataset : fixture . dataset ,
31
- config : fixture . config
32
- }
33
- } ) ;
34
-
35
- cy . get ( `[data-cy="vertical-bar-div-title"]` )
36
- . should ( 'exist' )
37
- . contains ( fixture . config . style . chart . title . text ) ;
38
-
39
- cy . get ( `[data-cy="vertical-bar-div-subtitle"]` )
40
- . should ( 'exist' )
41
- . contains ( fixture . config . style . chart . title . subtitle . text ) ;
42
-
43
- cy . get ( `[data-cy="user-options-summary"]` ) . click ( ) ;
5
+ const { config, dataset } = components . find ( c => c . name === 'VueUiVerticalBar' ) ;
44
6
45
- cy . get ( `[data-cy="user-options-table"]` ) . click ( { force : true } ) ;
46
- cy . viewport ( 1000 , 1050 ) ;
47
-
48
- const bars = fixture . dataset . map ( d => {
49
- if ( d . children ) {
50
- return d . children . length ;
51
- }
52
- return 1 ;
53
- } ) . reduce ( ( a , b ) => a + b , 0 ) ;
54
-
55
- for ( let i = 0 ; i < bars ; i += 1 ) {
56
- cy . get ( `[data-cy="vertical-bar-rect-underlayer-${ i } "]` )
57
- . should ( 'exist' )
58
- . invoke ( 'attr' , 'fill' )
59
- . should ( 'eq' , fixture . config . style . chart . layout . bars . underlayerColor ) ;
60
- cy . get ( `[data-cy="vertical-bar-datalabel-${ i } "]` )
61
- . should ( 'exist' ) ;
62
- }
63
-
64
- cy . get ( `[data-cy="vertical-bar-trap-0"]` )
65
- . trigger ( 'mouseenter' ) ;
66
-
67
- cy . get ( `[data-cy="tooltip"]` )
68
- . should ( 'exist' ) ;
69
-
70
- cy . get ( `[data-cy="vertical-bar-trap-0"]` )
71
- . trigger ( 'mouseleave' ) ;
72
-
73
- cy . get ( `[data-cy="tooltip"]` )
74
- . should ( 'not.exist' ) ;
75
-
76
- cy . get ( `[data-cy="user-options-summary"]` ) . click ( { force : true } ) ;
77
-
78
- // cy.get(`[data-cy="user-options-pdf"]`).click({ force: true });
79
- // cy.readFile(`cypress\\Downloads\\${fixture.config.style.chart.title.text}.pdf`);
80
- // cy.get(`[data-cy="user-options-xls"]`).click({ force: true });
81
- // cy.readFile(`cypress\\Downloads\\${fixture.config.style.chart.title.text}.csv`);
82
- // cy.get(`[data-cy="user-options-img"]`).click({ force: true });
83
- // cy.readFile(`cypress\\Downloads\\${fixture.config.style.chart.title.text}.png`);
84
- // cy.clearDownloads();
85
- cy . get ( `[data-cy="user-options-summary"]` ) . click ( { force : true } ) ;
86
-
87
- } ) ;
88
- } ) ;
7
+ describe ( '<VueUiVerticalBar />' , ( ) => {
8
+ it ( 'renders' , ( ) => {
9
+ cy . mount ( VueUiVerticalBar , {
10
+ props : {
11
+ dataset,
12
+ config
13
+ }
14
+ } ) . then ( ( ) => {
15
+
16
+ testCommonFeatures ( {
17
+ userOptions : true ,
18
+ title : true ,
19
+ subtitle : true ,
20
+ dataTable : true ,
21
+ legend : true ,
22
+ tooltipCallback : ( ) => {
23
+ cy . get ( '[data-cy="tooltip-trap"]' ) . first ( ) . trigger ( 'mouseenter' , { force : true } )
24
+ }
25
+ } ) ;
26
+
27
+ cy . log ( 'datapoints' ) ;
28
+ cy . get ( '[data-cy="datapoint-underlayer"]' ) . should ( 'exist' ) . and ( 'be.visible' ) . and ( 'have.length' , 8 ) ;
29
+ cy . get ( '[data-cy="datapoint-bar"]' ) . should ( 'exist' ) . and ( 'be.visible' ) . and ( 'have.length' , 8 ) ;
30
+ cy . get ( '[data-cy="datapoint-separator"]' ) . should ( 'exist' ) . and ( 'have.css' , 'opacity' , '1' ) . and ( 'have.length' , 4 ) ;
31
+ cy . get ( '[data-cy="datapoint-label"]' ) . should ( 'exist' ) . and ( 'be.visible' ) . and ( 'have.length' , 8 ) ;
32
+ cy . get ( '[data-cy="datapoint-name"]' ) . should ( 'exist' ) . and ( 'be.visible' ) . and ( 'have.length' , 8 ) ;
33
+ cy . get ( '[data-cy="datapoint-parent-name"]' ) . should ( 'exist' ) . and ( 'be.visible' ) . and ( 'have.length' , dataset . filter ( d => ! ! d . children ) . length ) ;
34
+ cy . get ( '[data-cy="datapoint-parent-value"]' ) . should ( 'exist' ) . and ( 'be.visible' ) . and ( 'have.length' , dataset . filter ( d => ! ! d . children ) . length ) ;
35
+ } ) ;
36
+ } ) ;
89
37
} ) ;
0 commit comments