mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 04:33:48 +08:00
0431942f3d
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component. Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
41 lines
931 B
JavaScript
41 lines
931 B
JavaScript
import componentTest from "helpers/component-test";
|
|
import { testSelectKitModule, setDefaultState } from "./select-kit-test-helper";
|
|
|
|
testSelectKitModule("notifications-button");
|
|
|
|
componentTest("default", {
|
|
template: `
|
|
{{notifications-button
|
|
value=value
|
|
options=(hash
|
|
i18nPrefix=i18nPrefix
|
|
i18nPostfix=i18nPostfix
|
|
)
|
|
}}
|
|
`,
|
|
|
|
beforeEach() {
|
|
this.set("value", 1);
|
|
|
|
setDefaultState(this, 1, { i18nPrefix: "pre", i18nPostfix: "post" });
|
|
},
|
|
|
|
async test(assert) {
|
|
assert.ok(this.subject.header().value());
|
|
|
|
assert.ok(
|
|
this.subject
|
|
.header()
|
|
.label()
|
|
.includes(`${this.i18nPrefix}.regular${this.i18nPostfix}`),
|
|
"it shows the regular choice when value is not set"
|
|
);
|
|
|
|
const icon = this.subject.header().icon()[0];
|
|
assert.ok(
|
|
icon.classList.contains("d-icon-d-regular"),
|
|
"it shows the correct icon"
|
|
);
|
|
}
|
|
});
|