discourse/app/assets/javascripts/wizard/test/components/invite-list-test.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

77 lines
2.1 KiB
JavaScript
Raw Normal View History

import { componentTest } from "wizard/test/helpers/component-test";
2016-09-13 15:14:17 -04:00
moduleForComponent("invite-list", { integration: true });
componentTest("can add users", {
2016-09-13 15:14:17 -04:00
template: `{{invite-list field=field}}`,
2017-06-14 13:57:58 -04:00
beforeEach() {
2016-09-13 15:14:17 -04:00
this.set("field", {});
},
2018-07-29 16:51:32 -04:00
async test(assert) {
2016-09-13 15:14:17 -04:00
assert.ok(
find(".users-list .invite-list-user").length === 0,
2016-09-13 15:14:17 -04:00
"no users at first"
);
assert.ok(find(".new-user .invalid").length === 0, "not invalid at first");
2016-09-13 15:14:17 -04:00
const firstVal = JSON.parse(this.get("field.value"));
assert.equal(firstVal.length, 0, "empty JSON at first");
assert.ok(
this.get("field.warning"),
"it has a warning since no users were added"
);
2018-07-29 16:51:32 -04:00
await click(".add-user");
assert.ok(
find(".users-list .invite-list-user").length === 0,
2018-07-29 16:51:32 -04:00
"doesn't add a blank user"
);
assert.ok(find(".new-user .invalid").length === 1);
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
await fillIn(".invite-email", "eviltrout@example.com");
await click(".add-user");
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
assert.ok(
find(".users-list .invite-list-user").length === 1,
2018-07-29 16:51:32 -04:00
"adds the user"
);
assert.ok(find(".new-user .invalid").length === 0);
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
const val = JSON.parse(this.get("field.value"));
assert.equal(val.length, 1);
assert.equal(
val[0].email,
"eviltrout@example.com",
"adds the email to the JSON"
);
assert.ok(val[0].role.length, "adds the role to the JSON");
assert.ok(!this.get("field.warning"), "no warning once the user is added");
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
await fillIn(".invite-email", "eviltrout@example.com");
await click(".add-user");
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
assert.ok(
find(".users-list .invite-list-user").length === 1,
2018-07-29 16:51:32 -04:00
"can't add the same user twice"
);
assert.ok(find(".new-user .invalid").length === 1);
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
await fillIn(".invite-email", "not-an-email");
await click(".add-user");
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
assert.ok(
find(".users-list .invite-list-user").length === 1,
2018-07-29 16:51:32 -04:00
"won't add an invalid email"
);
assert.ok(find(".new-user .invalid").length === 1);
2016-09-13 15:14:17 -04:00
2018-07-29 16:51:32 -04:00
await click(".invite-list .invite-list-user:eq(0) .remove-user");
assert.ok(
find(".users-list .invite-list-user").length === 0,
2018-07-29 16:51:32 -04:00
"removed the user"
);
2016-09-13 15:14:17 -04:00
}
});