mirror of
https://github.com/discourse/discourse.git
synced 2024-12-14 04:43:47 +08:00
a8793d0d9a
* Calling `Discourse.reset()` creates a new container We should run our de-initializers only after acceptance tests, since initializers are not run outside of acceptance tests anyway, and the container at this point can be passed properly to the `teardown()` method. * Remove `Discourse.reset` from tests This would cause a new container to be created which leaks many objects. * `updateCurrentUser` is more accurate than `replaceCurrentUser`
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
import { acceptance, updateCurrentUser } from "helpers/qunit-helpers";
|
|
|
|
acceptance("Enforce Second Factor", {
|
|
loggedIn: true
|
|
});
|
|
|
|
QUnit.test("as an admin", async assert => {
|
|
await visit("/u/eviltrout/preferences/second-factor");
|
|
Discourse.SiteSettings.enforce_second_factor = "staff";
|
|
|
|
await visit("/u/eviltrout/summary");
|
|
|
|
assert.equal(
|
|
find(".control-label").text(),
|
|
"Password",
|
|
"it will not transition from second-factor preferences"
|
|
);
|
|
|
|
await click("#toggle-hamburger-menu");
|
|
await click("a.admin-link");
|
|
|
|
assert.equal(
|
|
find(".control-label").text(),
|
|
"Password",
|
|
"it stays at second-factor preferences"
|
|
);
|
|
});
|
|
|
|
QUnit.test("as a user", async assert => {
|
|
updateCurrentUser({ staff: false, admin: false });
|
|
|
|
await visit("/u/eviltrout/preferences/second-factor");
|
|
Discourse.SiteSettings.enforce_second_factor = "all";
|
|
|
|
await visit("/u/eviltrout/summary");
|
|
|
|
assert.equal(
|
|
find(".control-label").text(),
|
|
"Password",
|
|
"it will not transition from second-factor preferences"
|
|
);
|
|
|
|
await click("#toggle-hamburger-menu");
|
|
await click("a.about-link");
|
|
|
|
assert.equal(
|
|
find(".control-label").text(),
|
|
"Password",
|
|
"it stays at second-factor preferences"
|
|
);
|
|
});
|