We used many global functions to handle tests when they should be imported like other libraries in our application. This also gets us closer to the way Ember CLI prefers our tests to be laid out.
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import { test } from "qunit";
|
|
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
|
|
acceptance("Auth Complete", {
|
|
beforeEach() {
|
|
const node = document.createElement("meta");
|
|
node.dataset.authenticationData = JSON.stringify({
|
|
auth_provider: "test",
|
|
email: "blah@example.com",
|
|
});
|
|
node.id = "data-authentication";
|
|
document.querySelector("head").appendChild(node);
|
|
},
|
|
afterEach() {
|
|
document
|
|
.querySelector("head")
|
|
.removeChild(document.getElementById("data-authentication"));
|
|
},
|
|
});
|
|
|
|
test("when login not required", async (assert) => {
|
|
await visit("/");
|
|
|
|
assert.equal(currentPath(), "discovery.latest", "it stays on the homepage");
|
|
|
|
assert.ok(
|
|
exists("#discourse-modal div.create-account"),
|
|
"it shows the registration modal"
|
|
);
|
|
});
|
|
|
|
test("when login required", async function (assert) {
|
|
this.siteSettings.login_required = true;
|
|
await visit("/");
|
|
|
|
assert.equal(currentPath(), "login", "it redirects to the login page");
|
|
|
|
assert.ok(
|
|
exists("#discourse-modal div.create-account"),
|
|
"it shows the registration modal"
|
|
);
|
|
});
|