mirror of
https://github.com/discourse/discourse.git
synced 2024-11-28 16:18:33 +08:00
39f3dbd945
* renames `select-box-kit` into `select-kit` * introduces `single-select` and `multi-select` as base components * introduces {{search-advanced-category-chooser}} as a better component for selecting category in advanced search * improves events handling in select-kit * recreates color selection inputs using {{multi-select}} and a custom {{selected-color}} component * replaces category-selector by a component using select-kit and based on multi-select * improves positioning of wrapper * removes the need for offscreen, and instead use `select-kit-header` as a base focus point for all select-kit based components * introduces a formal plugin api for select-kit based components * introduces a formal pattern for loading and updating select-kit based components: ``` computeValue() computeContent() mutateValue() ```
36 lines
924 B
JavaScript
36 lines
924 B
JavaScript
import componentTest from 'helpers/component-test';
|
||
import Topic from 'discourse/models/topic';
|
||
|
||
const buildTopic = function() {
|
||
return Topic.create({
|
||
id: 1234,
|
||
title: 'Qunit Test Topic'
|
||
});
|
||
};
|
||
|
||
moduleForComponent('topic-footer-mobile-dropdown', {integration: true});
|
||
|
||
componentTest('default', {
|
||
template: '{{topic-footer-mobile-dropdown topic=topic}}',
|
||
beforeEach() {
|
||
this.set("topic", buildTopic());
|
||
},
|
||
|
||
test(assert) {
|
||
expandSelectKit();
|
||
|
||
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");
|
||
});
|
||
|
||
selectKitSelectRow("share");
|
||
|
||
andThen(() => {
|
||
assert.equal(this.get("value"), null, "it resets the value");
|
||
});
|
||
}
|
||
});
|