mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 13:51:18 +08:00
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:
@ -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');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user