Add data-test-subj to advanced_row.html and advanced_row.html to enable test automation. Add a test for Advanced Settings.

Fixes #5526
This commit is contained in:
LeeDr 2015-11-30 11:59:59 -06:00 committed by Lee Drengenberg
parent d8e9a684c6
commit f30c329b85
6 changed files with 53 additions and 15 deletions

View file

@ -1,9 +1,9 @@
<div class="app-container">
<nav class="navbar navbar-default navbar-static-top subnav">
<nav class="navbar navbar-default navbar-static-top subnav" data-test-subj="settingsNav">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li ng-repeat="section in sections" ng-class="section.class">
<a class="navbar-link" kbn-href="{{section.url}}">{{section.display}}</a>
<a class="navbar-link" kbn-href="{{section.url}}" data-test-subj="{{section.name}}">{{section.display}}</a>
</li>
</ul>
</div>

View file

@ -59,12 +59,13 @@
name="conf.name"
ng-model="conf.unsavedValue"
ng-options="option as option for option in conf.options"
class="form-control">
class="form-control"
data-test-subj="selectInput">
</select>
</form>
<!-- Setting display formats -->
<span ng-if="!conf.editting">
<span ng-if="!conf.editting" data-test-subj="currentValue">
<span ng-show="(conf.normal || conf.json || conf.select)">{{conf.value || conf.defVal}}</span>
<span ng-show="conf.array">{{(conf.value || conf.defVal).join(', ')}}</span>
<span ng-show="conf.bool">{{conf.value === undefined ? conf.defVal : conf.value}}</span>
@ -77,7 +78,8 @@
ng-click="edit(conf)"
class="btn btn-default"
ng-disabled="conf.tooComplex"
aria-label="Edit">
aria-label="Edit"
data-test-subj="editButton">
<span class="sr-only">Edit</span>
<i aria-hidden="true" class="fa fa-pencil"></i>
</button>
@ -87,7 +89,8 @@
ng-click="save(conf)"
class="btn btn-success"
ng-disabled="conf.loading || conf.tooComplex || forms.configEdit.$invalid"
aria-label="Save">
aria-label="Save"
data-test-subj="saveButton">
<span class="sr-only">Save</span>
<i aria-hidden="true" ng-if="!conf.loading" class="fa fa-save"></i>
<i aria-hidden="true" ng-if="conf.loading" class="fa fa-spinner"></i>
@ -98,7 +101,8 @@
ng-click="clear(conf)"
ng-hide="conf.value === undefined"
class="btn btn-danger"
aria-label="Clear">
aria-label="Clear"
data-test-subj="clearButton">
<span class="sr-only">Clear</span>
<i aria-hidden="true" class="fa fa-trash-o"></i>
</button>
@ -107,7 +111,8 @@
ng-if="conf.editting"
ng-click="cancelEdit(conf)"
class="btn btn-default"
aria-label="Cancel edit">
aria-label="Cancel edit"
data-test-subj="cancelButton">
<span class="sr-only">Cancel Edit</span>
<i aria-hidden="true" class="fa fa-times"></i>
</button>

View file

@ -28,16 +28,19 @@ define(function (require) {
bdd.it('should allow setting advanced settings', function () {
return settingsPage.clickAdvancedTab()
.then(function () {
return settingsPage.setAdvancedSetting('dateFormat:tz', 'American/Phoenix');
// expect(patternName).to.be('logstash-*');
.then(function TestCallSetAdvancedSettingsForTimezone() {
common.log('calling setAdvancedSetting');
return settingsPage.setAdvancedSettings('dateFormat:tz', 'America/Phoenix');
})
.then(function GetAdvancedSetting() {
return settingsPage.getAdvancedSettings('dateFormat:tz');
})
.then(function (advancedSetting) {
expect(advancedSetting).to.be('America/Phoenix');
})
.catch(common.handleError(this));
});
});
});
};

View file

@ -9,6 +9,7 @@ define(function (require) {
var indexPatternCreateDeleteTest = require('./_index_pattern_create_delete');
var indexPatternResultsSortTest = require('./_index_pattern_results_sort');
var indexPatternPopularityTest = require('./_index_pattern_popularity');
var advancedSettingsTest = require('./_advanced_settings');
bdd.describe('settings app', function () {
var scenarioManager = new ScenarioManager(url.format(config.servers.elasticsearch));
@ -30,6 +31,7 @@ define(function (require) {
});
});
advancedSettingsTest(bdd, scenarioManager);
initialStateTest(bdd, scenarioManager);
creationChangesTest(bdd, scenarioManager);
indexPatternCreateDeleteTest(bdd, scenarioManager);

View file

@ -202,7 +202,8 @@ define(function (require) {
});
},
findTestSubject: function (selector) {
findTestSubject: function findTestSubject(selector) {
console.log('in findTestSubject: ' + selector);
return this.remote.findByCssSelector(testSubjSelector(selector));
}
};

View file

@ -15,6 +15,33 @@ define(function (require) {
SettingsPage.prototype = {
constructor: SettingsPage,
clickAdvancedTab: function () {
console.log('in clickAdvancedTab');
return common.findTestSubject('settingsNav advanced').click();
},
setAdvancedSettings: function setAdvancedSettings(propertyName, propertyValue) {
var self = this;
return common.findTestSubject('advancedSetting&' + propertyName + ' editButton')
.click()
.then(function setAdvancedSettingsClickPropertyValue(selectList) {
return self.remote.findByCssSelector('option[label="' + propertyValue + '"]')
.click();
})
.then(function setAdvancedSettingsClickSaveButton() {
return common.findTestSubject('advancedSetting&' + propertyName + ' saveButton')
.click();
});
},
getAdvancedSettings: function getAdvancedSettings(propertyName) {
var self = this;
console.log('in setAdvancedSettings');
return common.findTestSubject('advancedSetting&' + propertyName + ' currentValue')
.getVisibleText();
},
navigateTo: function () {
return common.navigateToApp('settings');
},