Skip to content

Commit

Permalink
[pageObjects/console] update selectors to use test subjects
Browse files Browse the repository at this point in the history
  • Loading branch information
spalger committed Sep 13, 2016
1 parent c25ac3c commit a2d37fc
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 61 deletions.
11 changes: 7 additions & 4 deletions src/core_plugins/console/public/index.html
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
<kbn-dev-tools-app>
<kbn-dev-tools-app data-test-subj="console">
<sense-navbar></sense-navbar>

<div id="editor_output_container">
<div id="editor_container">
<ul id="autocomplete"></ul>
<div id="editor_actions">
<kbn-tooltip text="click to send request">
<a class="editor_action" ng-click="sendSelected()">
<a
class="editor_action"
ng-click="sendSelected()"
data-test-subj="send-request-button">
<i class="fa fa-play"></i>
</a>
</kbn-tooltip>
Expand All @@ -26,14 +29,14 @@
</span>
</div>

<div id="editor">GET _search
<div id="editor" data-test-subj="request-editor">GET _search
{
"query": { "match_all": {} }
}</div>

</div>
<div id="editor_resizer">&#xFE19;</div>
<div id="output_container">
<div id="output_container" data-test-subj="response-editor">
<div id="output">{}</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<kbn-top-nav name="timelion" ng-if="sense" config="navbar.menu"></kbn-top-nav>
<kbn-top-nav name="console" ng-if="sense" config="navbar.menu" data-test-subj="top-nav"></kbn-top-nav>
4 changes: 2 additions & 2 deletions src/ui/public/kbn_top_nav/kbn_top_nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</navbar>
<div class="config" ng-show="kbnTopNav.rendered">
<div id="template_wrapper" class="container-fluid"></div>
<div class="config-close remove">
<i class="fa fa-chevron-circle-up" ng-click="kbnTopNav.close()"></i>
<div class="config-close remove" ng-click="kbnTopNav.close()" data-test-subj="config-close-button">
<i class="fa fa-chevron-circle-up"></i>
</div>
</div>
26 changes: 14 additions & 12 deletions test/functional/apps/console/_console.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@

import expect from 'expect.js';

import PageObjects from '../../../support/page_objects';
import {
bdd,
scenarioManager
} from '../../../support';

import PageObjects from '../../../support/page_objects';
const DEFAULT_REQUEST = `
GET _search
{
"query": {
"match_all": {}
}
}
`.trim();

bdd.describe('console app', function describeIndexTests() {
bdd.before(function () {
Expand All @@ -15,15 +25,6 @@ bdd.describe('console app', function describeIndexTests() {
});

bdd.it('should show the default request', function () {
var expectedRequest = [
'GET _search',
'{',
' "query": {',
' "match_all": {}',
' }',
'}',
''
];
PageObjects.common.saveScreenshot('Console-help-expanded');
// collapse the help pane because we only get the VISIBLE TEXT, not the part that is scrolled
return PageObjects.console.collapseHelp()
Expand All @@ -32,14 +33,15 @@ bdd.describe('console app', function describeIndexTests() {
return PageObjects.common.try(function () {
return PageObjects.console.getRequest()
.then(function (actualRequest) {
expect(actualRequest).to.eql(expectedRequest);
expect(actualRequest.trim()).to.eql(DEFAULT_REQUEST);
});
});
});
});

bdd.it('default request response should contain .kibana' , function () {
var expectedResponseContains = '"_index": ".kibana",';
const expectedResponseContains = '"_index": ".kibana",';

return PageObjects.console.clickPlay()
.then(function () {
PageObjects.common.saveScreenshot('Console-default-request');
Expand Down
63 changes: 21 additions & 42 deletions test/support/page_objects/console_page.js
Original file line number Diff line number Diff line change
@@ -1,59 +1,38 @@
import Bluebird from 'bluebird';

import PageObjects from './';
import {
defaultFindTimeout,
} from '../';

export default class ConsolePage {

init(remote) {
this.remote = remote;
this.findTimeout = this.remote.setFindTimeout(defaultFindTimeout);
}
async function getVisibleTextFromAceEditor(editor) {
const lines = await editor.findAllByClassName('ace_line_group');
const linesText = await Bluebird.map(lines, l => l.getVisibleText());
return linesText.join('\n');
}

getServer() {
return this.findTimeout
.findByCssSelector('#kibana-body > div.content > div > div')
.getVisibleText();
}
export default class ConsolePage {
init() {

setServer(server) {
return this.findTimeout
.findByCssSelector('input[aria-label="Server Name"]')
.clearValue()
.type(server);
}

getRequest() {
return this.findTimeout
.findAllByCssSelector('div.ace_line_group')
.then(function (editorData) {

function getEditorData(line) {
return line.getVisibleText();
}

var getEditorDataPromises = editorData.map(getEditorData);
return Promise.all(getEditorDataPromises);
});
async getRequest() {
const requestEditor = await PageObjects.common.findTestSubject('console request-editor');
return await getVisibleTextFromAceEditor(requestEditor);
}

getResponse() {
return this.findTimeout
.findByCssSelector('#output > div.ace_scroller > div')
.getVisibleText();
async getResponse() {
const responseEditor = await PageObjects.common.findTestSubject('console response-editor');
return await getVisibleTextFromAceEditor(responseEditor);
}

clickPlay() {
return this.findTimeout
.findByCssSelector('#editor_actions > span.ng-scope > a > i')
.click();
async clickPlay() {
const sendRequestButton = await PageObjects.common.findTestSubject('console send-request-button');
await sendRequestButton.click();
}

collapseHelp() {
return this.findTimeout
.findByCssSelector('div.config-close.remove > i')
.click();

async collapseHelp() {
const closeButton = await PageObjects.common.findTestSubject('console top-nav config-close-button');
await closeButton.click();
}

}

0 comments on commit a2d37fc

Please sign in to comment.