@@ -9,9 +9,16 @@ import expect from '@kbn/expect';
99import { FtrProviderContext } from '../../../../../ftr_provider_context' ;
1010
1111export default function ( { getPageObjects, getService } : FtrProviderContext ) {
12- const { visualize, visualBuilder, lens } = getPageObjects ( [ 'visualBuilder' , 'visualize' , 'lens' ] ) ;
12+ const { visualize, visualBuilder, lens, header } = getPageObjects ( [
13+ 'visualBuilder' ,
14+ 'visualize' ,
15+ 'lens' ,
16+ 'header' ,
17+ ] ) ;
1318
1419 const testSubjects = getService ( 'testSubjects' ) ;
20+ const retry = getService ( 'retry' ) ;
21+ const find = getService ( 'find' ) ;
1522
1623 describe ( 'Metric' , function describeIndexTests ( ) {
1724 before ( async ( ) => {
@@ -40,5 +47,95 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
4047 const metricData = await lens . getMetricVisualizationData ( ) ;
4148 expect ( metricData [ 0 ] . title ) . to . eql ( 'Count of records' ) ;
4249 } ) ;
50+
51+ it ( 'should draw static value' , async ( ) => {
52+ await visualBuilder . selectAggType ( 'Static Value' ) ;
53+ await visualBuilder . setStaticValue ( 10 ) ;
54+
55+ await header . waitUntilLoadingHasFinished ( ) ;
56+
57+ const button = await testSubjects . find ( 'visualizeEditInLensButton' ) ;
58+ await button . click ( ) ;
59+ await lens . waitForVisualization ( 'mtrVis' ) ;
60+ await retry . try ( async ( ) => {
61+ const layers = await find . allByCssSelector ( `[data-test-subj^="lns-layerPanel-"]` ) ;
62+ expect ( layers ) . to . have . length ( 1 ) ;
63+
64+ const dimensions = await testSubjects . findAll ( 'lns-dimensionTrigger' ) ;
65+ expect ( dimensions ) . to . have . length ( 1 ) ;
66+ expect ( await dimensions [ 0 ] . getVisibleText ( ) ) . to . be ( '10' ) ;
67+ } ) ;
68+ } ) ;
69+
70+ it ( 'should convert metric with params' , async ( ) => {
71+ await visualBuilder . selectAggType ( 'Value Count' ) ;
72+ await visualBuilder . setFieldForAggregation ( 'bytes' ) ;
73+
74+ await header . waitUntilLoadingHasFinished ( ) ;
75+
76+ const button = await testSubjects . find ( 'visualizeEditInLensButton' ) ;
77+ await button . click ( ) ;
78+ await lens . waitForVisualization ( 'mtrVis' ) ;
79+ await retry . try ( async ( ) => {
80+ const layers = await find . allByCssSelector ( `[data-test-subj^="lns-layerPanel-"]` ) ;
81+ expect ( layers ) . to . have . length ( 1 ) ;
82+
83+ const dimensions = await testSubjects . findAll ( 'lns-dimensionTrigger' ) ;
84+ expect ( dimensions ) . to . have . length ( 1 ) ;
85+ expect ( await dimensions [ 0 ] . getVisibleText ( ) ) . to . be ( 'Count of bytes' ) ;
86+ } ) ;
87+ } ) ;
88+
89+ it ( 'should not allow converting of unsupported metric' , async ( ) => {
90+ await visualBuilder . selectAggType ( 'Counter Rate' ) ;
91+ await visualBuilder . setFieldForAggregation ( 'machine.ram' ) ;
92+
93+ await header . waitUntilLoadingHasFinished ( ) ;
94+
95+ const canEdit = await testSubjects . exists ( 'visualizeEditInLensButton' ) ;
96+ expect ( canEdit ) . to . be ( false ) ;
97+ } ) ;
98+
99+ it ( 'should not allow converting of not valid panel' , async ( ) => {
100+ await visualBuilder . selectAggType ( 'Value Count' ) ;
101+ await header . waitUntilLoadingHasFinished ( ) ;
102+ const canEdit = await testSubjects . exists ( 'visualizeEditInLensButton' ) ;
103+ expect ( canEdit ) . to . be ( false ) ;
104+ } ) ;
105+
106+ it ( 'should convert color ranges' , async ( ) => {
107+ await visualBuilder . clickPanelOptions ( 'metric' ) ;
108+ await visualBuilder . setColorRuleOperator ( '>= greater than or equal' ) ;
109+ await visualBuilder . setColorRuleValue ( 10 ) ;
110+ await visualBuilder . setColorPickerValue ( '#54B399' ) ;
111+
112+ await header . waitUntilLoadingHasFinished ( ) ;
113+ const button = await testSubjects . find ( 'visualizeEditInLensButton' ) ;
114+ await button . click ( ) ;
115+
116+ await lens . waitForVisualization ( 'mtrVis' ) ;
117+ await retry . try ( async ( ) => {
118+ const closePalettePanels = await testSubjects . findAll (
119+ 'lns-indexPattern-PalettePanelContainerBack'
120+ ) ;
121+ if ( closePalettePanels . length ) {
122+ await lens . closePalettePanel ( ) ;
123+ await lens . closeDimensionEditor ( ) ;
124+ }
125+
126+ const dimensions = await testSubjects . findAll ( 'lns-dimensionTrigger' ) ;
127+ expect ( dimensions ) . to . have . length ( 1 ) ;
128+
129+ dimensions [ 0 ] . click ( ) ;
130+
131+ await lens . openPalettePanel ( 'lnsMetric' ) ;
132+ const colorStops = await lens . getPaletteColorStops ( ) ;
133+
134+ expect ( colorStops ) . to . eql ( [
135+ { stop : '10' , color : 'rgba(84, 179, 153, 1)' } ,
136+ { stop : '' , color : undefined } ,
137+ ] ) ;
138+ } ) ;
139+ } ) ;
43140 } ) ;
44141}
0 commit comments