import selectKit from "helpers/select-kit-helper"; import componentTest from "helpers/component-test"; moduleForComponent("list-setting", { integration: true }); componentTest("default", { template: "{{list-setting settingValue=settingValue choices=choices}}", beforeEach() { this.set("settingValue", "bold|italic"); this.set("choices", ["bold", "italic", "underline"]); }, test(assert) { assert.equal( selectKit() .header() .title(), "bold,italic" ); assert.equal( selectKit() .header() .value(), "bold,italic" ); } }); componentTest("with empty string as value", { template: "{{list-setting settingValue=settingValue}}", beforeEach() { this.set("settingValue", ""); }, test(assert) { assert.equal( selectKit() .header() .value(), "" ); } }); componentTest("with only setting value", { template: "{{list-setting settingValue=settingValue}}", beforeEach() { this.set("settingValue", "bold|italic"); }, test(assert) { assert.equal( selectKit() .header() .value(), "bold,italic" ); } }); componentTest("interactions", { template: "{{list-setting settingValue=settingValue choices=choices}}", beforeEach() { this.set("settingValue", "bold|italic"); this.set("choices", ["bold", "italic", "underline"]); }, async test(assert) { const listSetting = selectKit(); await listSetting.expand(); await listSetting.selectRowByValue("underline"); assert.equal(listSetting.header().value(), "bold,italic,underline"); await listSetting.expand(); await listSetting.fillInFilter("strike"); assert.equal(listSetting.highlightedRow().value(), "strike"); await listSetting.keyboard("enter"); assert.equal(listSetting.header().value(), "bold,italic,underline,strike"); await listSetting.keyboard("backspace"); await listSetting.keyboard("backspace"); assert.equal(listSetting.header().value(), "bold,italic,underline"); } });