select-kit refactoring

* better test helper
* more reliable tests
* more consistent use of data-value/data-name/title/aria-label everywhere: header and rows
This commit is contained in:
Joffrey JAFFEUX
2017-12-22 13:08:12 +01:00
committed by GitHub
parent 364e6fdd53
commit 315b9d796d
60 changed files with 827 additions and 641 deletions

View File

@ -8,28 +8,37 @@ const buildTopic = function() {
});
};
moduleForComponent('topic-footer-mobile-dropdown', {integration: true});
moduleForComponent('topic-footer-mobile-dropdown', {
integration: true,
beforeEach: function() {
this.set('subject', selectKit());
}
});
componentTest('default', {
template: '{{topic-footer-mobile-dropdown topic=topic}}',
beforeEach() {
this.set("topic", buildTopic());
this.set('topic', buildTopic());
},
test(assert) {
expandSelectKit();
this.get('subject').expand();
andThen(() => {
assert.equal(selectKit().header.name(), "Topic Controls");
assert.equal(selectKit().rowByIndex(0).name(), "Bookmark");
assert.equal(selectKit().rowByIndex(1).name(), "Share");
assert.equal(selectKit().selectedRow.el.length, 0, "it doesn’t preselect first row");
assert.equal(this.get('subject').header().title(), 'Topic Controls');
assert.equal(this.get('subject').header().value(), null);
assert.equal(this.get('subject').rowByIndex(0).name(), 'Bookmark');
assert.equal(this.get('subject').rowByIndex(1).name(), 'Share');
assert.notOk(
this.get('subject').selectedRow().exists(),
'it doesn’t preselect first row'
);
});
selectKitSelectRow("share");
this.get('subject').selectRowByValue('share');
andThen(() => {
assert.equal(this.get("value"), null, "it resets the value");
assert.equal(this.get('value'), null, 'it resets the value');
});
}
});