discourse/test/javascripts/acceptance/invite-accept-test.js

66 lines
1.9 KiB
JavaScript

import { acceptance } from "helpers/qunit-helpers";
import PreloadStore from "discourse/lib/preload-store";
acceptance("Invite Accept", {
settings: {
full_name_required: true
}
});
QUnit.test("Invite Acceptance Page", async assert => {
PreloadStore.store("invite_info", {
invited_by: {
id: 123,
username: "neil",
avatar_template: "/user_avatar/localhost/neil/{size}/25_1.png",
name: "Neil Lalonde",
title: "team"
},
email: "invited@asdf.com",
username: "invited"
});
await visit("/invites/myvalidinvitetoken");
assert.ok(exists("#new-account-username"), "shows the username input");
assert.equal(
find("#new-account-username").val(),
"invited",
"username is prefilled"
);
assert.ok(exists("#new-account-name"), "shows the name input");
assert.ok(exists("#new-account-password"), "shows the password input");
assert.ok(
exists(".invites-show .btn-primary:disabled"),
"submit is disabled because name is not filled"
);
await fillIn("#new-account-name", "John Doe");
assert.not(
exists(".invites-show .btn-primary:disabled"),
"submit is enabled"
);
await fillIn("#new-account-username", "a");
assert.ok(exists(".username-input .bad"), "username is not valid");
assert.ok(
exists(".invites-show .btn-primary:disabled"),
"submit is disabled"
);
await fillIn("#new-account-password", "aaa");
assert.ok(exists(".password-input .bad"), "password is not valid");
assert.ok(
exists(".invites-show .btn-primary:disabled"),
"submit is disabled"
);
await fillIn("#new-account-username", "validname");
await fillIn("#new-account-password", "secur3ty4Y0uAndMe");
assert.ok(exists(".username-input .good"), "username is valid");
assert.ok(exists(".password-input .good"), "password is valid");
assert.not(
exists(".invites-show .btn-primary:disabled"),
"submit is enabled"
);
});