discourse/test/javascripts/components/list-setting-test.js.es6

109 lines
2.2 KiB
Plaintext
Raw Normal View History

2018-06-15 23:03:24 +08:00
import componentTest from "helpers/component-test";
2017-11-10 02:57:53 +08:00
2018-06-15 23:03:24 +08:00
moduleForComponent("list-setting", { integration: true });
2017-11-10 02:57:53 +08:00
2018-06-15 23:03:24 +08:00
componentTest("default", {
template: "{{list-setting settingValue=settingValue choices=choices}}",
2017-11-10 02:57:53 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("settingValue", "bold|italic");
this.set("choices", ["bold", "italic", "underline"]);
2017-11-10 02:57:53 +08:00
},
test(assert) {
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(
selectKit()
.header()
.title(),
"bold,italic"
);
assert.equal(
selectKit()
.header()
.value(),
"bold,italic"
);
});
}
});
2018-06-15 23:03:24 +08:00
componentTest("with empty string as value", {
template: "{{list-setting settingValue=settingValue}}",
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("settingValue", "");
},
test(assert) {
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(
selectKit()
.header()
.value(),
""
);
2017-11-10 02:57:53 +08:00
});
}
});
2018-06-15 23:03:24 +08:00
componentTest("with only setting value", {
template: "{{list-setting settingValue=settingValue}}",
2017-11-10 02:57:53 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("settingValue", "bold|italic");
2017-11-10 02:57:53 +08:00
},
test(assert) {
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(
selectKit()
.header()
.value(),
"bold,italic"
);
2017-11-10 02:57:53 +08:00
});
}
});
2018-06-15 23:03:24 +08:00
componentTest("interactions", {
template: "{{list-setting settingValue=settingValue choices=choices}}",
2017-11-10 02:57:53 +08:00
beforeEach() {
2018-06-15 23:03:24 +08:00
this.set("settingValue", "bold|italic");
this.set("choices", ["bold", "italic", "underline"]);
2017-11-10 02:57:53 +08:00
},
test(assert) {
const listSetting = selectKit();
2017-11-10 02:57:53 +08:00
2018-06-15 23:03:24 +08:00
listSetting.expand().selectRowByValue("underline");
2017-11-10 02:57:53 +08:00
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(listSetting.header().value(), "bold,italic,underline");
2017-11-10 02:57:53 +08:00
});
2018-06-15 23:03:24 +08:00
listSetting.expand().fillInFilter("strike");
2017-11-10 02:57:53 +08:00
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(listSetting.highlightedRow().value(), "strike");
2017-11-10 02:57:53 +08:00
});
listSetting.keyboard().enter();
2017-11-10 02:57:53 +08:00
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(
listSetting.header().value(),
"bold,italic,underline,strike"
);
2017-11-10 02:57:53 +08:00
});
listSetting.keyboard().backspace();
listSetting.keyboard().backspace();
2017-11-10 02:57:53 +08:00
andThen(() => {
2018-06-15 23:03:24 +08:00
assert.equal(listSetting.header().value(), "bold,italic,underline");
2017-11-10 02:57:53 +08:00
});
}
});