2020-02-11 09:54:56 -05:00
|
|
|
import componentTest from "helpers/component-test";
|
|
|
|
import { testSelectKitModule } from "./select-kit-test-helper";
|
2020-03-02 14:24:31 -05:00
|
|
|
import pretender from "helpers/create-pretender";
|
2020-02-11 09:54:56 -05:00
|
|
|
|
|
|
|
testSelectKitModule("user-chooser");
|
|
|
|
|
|
|
|
function template() {
|
|
|
|
return `{{user-chooser value=value}}`;
|
|
|
|
}
|
|
|
|
|
|
|
|
componentTest("displays usernames", {
|
|
|
|
template: template(),
|
|
|
|
|
|
|
|
beforeEach() {
|
|
|
|
this.set("value", ["bob", "martin"]);
|
|
|
|
},
|
|
|
|
|
|
|
|
async test(assert) {
|
|
|
|
assert.equal(this.subject.header().name(), "bob,martin");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
componentTest("can remove a username", {
|
|
|
|
template: template(),
|
|
|
|
|
|
|
|
beforeEach() {
|
|
|
|
this.set("value", ["bob", "martin"]);
|
|
|
|
},
|
|
|
|
|
|
|
|
async test(assert) {
|
|
|
|
await this.subject.deselectItem("bob");
|
|
|
|
assert.equal(this.subject.header().name(), "martin");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
componentTest("can add a username", {
|
|
|
|
template: template(),
|
|
|
|
|
|
|
|
beforeEach() {
|
|
|
|
this.set("value", ["bob", "martin"]);
|
|
|
|
|
|
|
|
const response = object => {
|
|
|
|
return [200, { "Content-Type": "application/json" }, object];
|
|
|
|
};
|
|
|
|
|
2020-03-02 14:24:31 -05:00
|
|
|
pretender.get("/u/search/users", () => {
|
|
|
|
return response({ users: [{ username: "maja", name: "Maja" }] });
|
2020-02-11 09:54:56 -05:00
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
async test(assert) {
|
|
|
|
await this.subject.expand();
|
|
|
|
await this.subject.fillInFilter("maja");
|
|
|
|
await this.subject.keyboard("enter");
|
|
|
|
|
|
|
|
assert.equal(this.subject.header().name(), "bob,martin,maja");
|
|
|
|
}
|
|
|
|
});
|