mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
* [visualize/_tsvb_chart] test for color picker, changing preview and cloning series
This commit is contained in:
parent
dce1c3335b
commit
4406bf3ff6
4 changed files with 96 additions and 2 deletions
|
@ -109,7 +109,7 @@ class ColorPicker extends Component {
|
|||
);
|
||||
}
|
||||
return (
|
||||
<div className="tvbColorPicker">
|
||||
<div className="tvbColorPicker" data-test-subj="tvbColorPicker">
|
||||
{ swatch }
|
||||
{ clear }
|
||||
{
|
||||
|
|
|
@ -82,7 +82,7 @@ export class CustomColorPicker extends Component {
|
|||
});
|
||||
|
||||
return (
|
||||
<div className="tvbColorPickerPopUp">
|
||||
<div className="tvbColorPickerPopUp" data-test-subj="tvbColorPickerPopUp">
|
||||
<div className="tvbColorPickerPopUp__saturation">
|
||||
<Saturation
|
||||
style={styles.Saturation}
|
||||
|
|
|
@ -62,6 +62,22 @@ export default function({ getService, getPageObjects }: FtrProviderContext) {
|
|||
const actualCount = await PageObjects.visualBuilder.getRhythmChartLegendValue();
|
||||
expect(actualCount).to.be('53');
|
||||
});
|
||||
|
||||
it('should open color picker, deactivate panel and clone series', async () => {
|
||||
await PageObjects.visualBuilder.clickColorPicker();
|
||||
await PageObjects.visualBuilder.checkColorPickerPopUpIsPresent();
|
||||
await PageObjects.visualBuilder.clickColorPicker();
|
||||
|
||||
await PageObjects.visualBuilder.changePanelPreview();
|
||||
await PageObjects.visualBuilder.checkPreviewIsDisabled();
|
||||
await PageObjects.visualBuilder.changePanelPreview();
|
||||
|
||||
await PageObjects.visualBuilder.cloneSeries();
|
||||
const legend = await PageObjects.visualBuilder.getLegentItems();
|
||||
const series = await PageObjects.visualBuilder.getSeries();
|
||||
expect(legend.length).to.be(2);
|
||||
expect(series.length).to.be(2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('metric', () => {
|
||||
|
|
|
@ -294,6 +294,84 @@ export function VisualBuilderPageProvider({ getService, getPageObjects }: FtrPro
|
|||
await el.pressKeys(browser.keys.RETURN);
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
}
|
||||
|
||||
/**
|
||||
* check that table visualization is visible and ready for interact
|
||||
*
|
||||
* @returns {Promise<void>}
|
||||
* @memberof VisualBuilderPage
|
||||
*/
|
||||
public async checkTableTabIsPresent(): Promise<void> {
|
||||
await testSubjects.existOrFail('visualizationLoader');
|
||||
const isDataExists = await testSubjects.exists('tableView');
|
||||
log.debug(`data is already rendered: ${isDataExists}`);
|
||||
if (!isDataExists) {
|
||||
await this.checkPreviewIsDisabled();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* set label name for aggregation
|
||||
*
|
||||
* @param {string} labelName
|
||||
* @param {number} [nth=0]
|
||||
* @memberof VisualBuilderPage
|
||||
*/
|
||||
public async setLabel(labelName: string, nth: number = 0): Promise<void> {
|
||||
const input = (await find.allByCssSelector('[placeholder="Label"]'))[nth];
|
||||
await input.type(labelName);
|
||||
}
|
||||
|
||||
/**
|
||||
* set field for type of aggregation
|
||||
*
|
||||
* @param {string} field name of field
|
||||
* @param {number} [aggNth=0] number of aggregation. Start by zero
|
||||
* @default 0
|
||||
* @memberof VisualBuilderPage
|
||||
*/
|
||||
public async setFieldForAggregation(field: string, aggNth: number = 0): Promise<void> {
|
||||
const labels = await testSubjects.findAll('aggRow');
|
||||
const label = labels[aggNth];
|
||||
const fieldEl = (await label.findAllByCssSelector('[data-test-subj = "comboBoxInput"]'))[1];
|
||||
await comboBox.setElement(fieldEl, field);
|
||||
}
|
||||
|
||||
public async clickColorPicker(): Promise<void> {
|
||||
await testSubjects.click('tvbColorPicker');
|
||||
}
|
||||
|
||||
public async checkColorPickerPopUpIsPresent(): Promise<void> {
|
||||
log.debug(`Check color picker popup is present`);
|
||||
await testSubjects.existOrFail('tvbColorPickerPopUp', { timeout: 5000 });
|
||||
}
|
||||
|
||||
public async changePanelPreview(nth: number = 0): Promise<void> {
|
||||
const prevRenderingCount = await PageObjects.visualize.getVisualizationRenderingCount();
|
||||
const changePreviewBtnArray = await testSubjects.findAll('AddActivatePanelBtn');
|
||||
await changePreviewBtnArray[nth].click();
|
||||
await PageObjects.visualize.waitForRenderingCount(prevRenderingCount + 1);
|
||||
}
|
||||
|
||||
public async checkPreviewIsDisabled(): Promise<void> {
|
||||
log.debug(`Check no data message is present`);
|
||||
await testSubjects.existOrFail('noTSVBDataMessage', { timeout: 5000 });
|
||||
}
|
||||
|
||||
public async cloneSeries(nth: number = 0): Promise<void> {
|
||||
const prevRenderingCount = await PageObjects.visualize.getVisualizationRenderingCount();
|
||||
const cloneBtnArray = await testSubjects.findAll('AddCloneBtn');
|
||||
await cloneBtnArray[nth].click();
|
||||
await PageObjects.visualize.waitForRenderingCount(prevRenderingCount + 1);
|
||||
}
|
||||
|
||||
public async getLegentItems(): Promise<WebElementWrapper[]> {
|
||||
return await testSubjects.findAll('tsvbLegendItem');
|
||||
}
|
||||
|
||||
public async getSeries(): Promise<WebElementWrapper[]> {
|
||||
return await find.allByCssSelector('.tvbSeriesEditor');
|
||||
}
|
||||
}
|
||||
|
||||
return new VisualBuilderPage();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue