diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/filter_ratio.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/filter_ratio.js index c380b0e09e7d3..90a5633926c88 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/filter_ratio.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/filter_ratio.js @@ -106,6 +106,7 @@ export const FilterRatioAgg = (props) => { query={model.numerator} onChange={handleNumeratorQueryChange} indexPatterns={[indexPattern]} + data-test-subj="filterRatioNumeratorInput" /> @@ -124,6 +125,7 @@ export const FilterRatioAgg = (props) => { query={model.denominator} onChange={handleDenominatorQueryChange} indexPatterns={[indexPattern]} + data-test-subj="filterRatioDenominatorInput" /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/query_bar_wrapper.tsx b/src/plugins/vis_type_timeseries/public/application/components/query_bar_wrapper.tsx index a3817503d24f1..215640c30f3c4 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/query_bar_wrapper.tsx +++ b/src/plugins/vis_type_timeseries/public/application/components/query_bar_wrapper.tsx @@ -18,9 +18,15 @@ import { fetchIndexPattern, isStringTypeIndexPattern } from '../../../common/ind type QueryBarWrapperProps = Pick & { indexPatterns: IndexPatternValue[]; + 'data-test-subj'?: string; }; -export function QueryBarWrapper({ query, onChange, indexPatterns }: QueryBarWrapperProps) { +export function QueryBarWrapper({ + query, + onChange, + indexPatterns, + 'data-test-subj': dataTestSubj, +}: QueryBarWrapperProps) { const { indexPatterns: indexPatternsService } = getDataStart(); const [indexes, setIndexes] = useState([]); @@ -58,6 +64,7 @@ export function QueryBarWrapper({ query, onChange, indexPatterns }: QueryBarWrap onChange={onChange} indexPatterns={indexes} {...coreStartContext} + dataTestSubj={dataTestSubj} /> ); } diff --git a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js index 30b7844a90fda..165f5080af93a 100644 --- a/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js +++ b/src/plugins/vis_type_timeseries/public/application/visualizations/views/gauge_vis.js @@ -131,15 +131,19 @@ export class GaugeVis extends Component { if (type === 'half') { svg = ( - - + + ); } else { svg = ( - - + + ); } diff --git a/test/functional/apps/visualize/_tsvb_chart.ts b/test/functional/apps/visualize/_tsvb_chart.ts index 8afdacbf4b619..0dee6f227914f 100644 --- a/test/functional/apps/visualize/_tsvb_chart.ts +++ b/test/functional/apps/visualize/_tsvb_chart.ts @@ -205,7 +205,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Color rules', () => { it('should apply color rules to visualization background and inner gauge circle', async () => { await visualBuilder.selectAggType('Filter Ratio'); - await visualBuilder.setFilterRatioNumerator('bytes < 0'); + await visualBuilder.setFilterRatioOption('Numerator', 'bytes < 0'); await visualBuilder.clickPanelOptions('gauge'); await visualBuilder.setColorRuleOperator('< less than'); await visualBuilder.setColorRuleValue(21); @@ -213,7 +213,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await visualBuilder.setColorPickerValue('#AD7DE6', 1); const backGroundStyle = await visualBuilder.getBackgroundStyle(); - const gaugeInnerColor = await visualBuilder.getGaugeInnerColor(); + const gaugeInnerColor = await visualBuilder.getGaugeColor('Inner'); expect(backGroundStyle).to.eql('background-color: rgb(255, 207, 223);'); expect(gaugeInnerColor).to.eql('rgba(173,125,230,1)'); diff --git a/test/functional/page_objects/visual_builder_page.ts b/test/functional/page_objects/visual_builder_page.ts index 3c0f1469aac2d..5301657cb7d77 100644 --- a/test/functional/page_objects/visual_builder_page.ts +++ b/test/functional/page_objects/visual_builder_page.ts @@ -358,22 +358,12 @@ export class VisualBuilderPageObject extends FtrService { return await gaugeCount.getVisibleText(); } - public async getGaugeColor(): Promise { + public async getGaugeColor(type: undefined | 'Inner' = undefined): Promise { await this.visChart.waitForVisualizationRenderingStabilized(); - const [, gaugeColoredCircle] = await this.find.allByCssSelector( - '[data-test-subj="tvbVisGaugeContainer"] circle' - ); + const gaugeColoredCircle = await this.testSubjects.find(`gaugeCircle${type ?? ''}`); return await gaugeColoredCircle.getAttribute('stroke'); } - public async getGaugeInnerColor(): Promise { - await this.visChart.waitForVisualizationRenderingStabilized(); - const gaugeInnerCircle = await this.find.byCssSelector( - '[data-test-subj="tvbVisGaugeContainer"] circle' - ); - return await gaugeInnerCircle.getAttribute('stroke'); - } - public async clickTopN() { await this.testSubjects.click('top_nTsvbTypeBtn'); } @@ -756,10 +746,8 @@ export class VisualBuilderPageObject extends FtrService { }); } - public async setFilterRatioNumerator(numerator: string) { - const numeratorInput = await this.find.byCssSelector( - '.tvbAggRow [data-test-subj="queryInput"]' - ); - await numeratorInput.type(numerator); + public async setFilterRatioOption(optionType: 'Numerator' | 'Denominator', query: string) { + const optionInput = await this.testSubjects.find(`filterRatio${optionType}Input`); + await optionInput.type(query); } }