* Makes it easier to find all the related tests for the particular route * Remove some tests that don't really provide much value against regressions
106 lines
2.8 KiB
JavaScript
106 lines
2.8 KiB
JavaScript
import I18n from "I18n";
|
|
import { test } from "qunit";
|
|
import { click, visit } from "@ember/test-helpers";
|
|
import {
|
|
acceptance,
|
|
count,
|
|
exists,
|
|
query,
|
|
updateCurrentUser,
|
|
} from "discourse/tests/helpers/qunit-helpers";
|
|
import selectKit from "discourse/tests/helpers/select-kit-helper";
|
|
|
|
acceptance("User Preferences - Security", function (needs) {
|
|
needs.user();
|
|
|
|
needs.pretender((server, helper) => {
|
|
server.get("/u/eviltrout/activity.json", () => {
|
|
return helper.response({});
|
|
});
|
|
});
|
|
|
|
test("recently connected devices", async function (assert) {
|
|
await visit("/u/eviltrout/preferences/security");
|
|
|
|
assert.strictEqual(
|
|
query(
|
|
".auth-tokens > .auth-token:nth-of-type(1) .auth-token-device"
|
|
).innerText.trim(),
|
|
"Linux Computer",
|
|
"it should display active token first"
|
|
);
|
|
|
|
assert.strictEqual(
|
|
query(".pref-auth-tokens > a:nth-of-type(1)").innerText.trim(),
|
|
I18n.t("user.auth_tokens.show_all", { count: 3 }),
|
|
"it should display two tokens"
|
|
);
|
|
assert.strictEqual(
|
|
count(".pref-auth-tokens .auth-token"),
|
|
2,
|
|
"it should display two tokens"
|
|
);
|
|
|
|
await click(".pref-auth-tokens > a:nth-of-type(1)");
|
|
|
|
assert.strictEqual(
|
|
count(".pref-auth-tokens .auth-token"),
|
|
3,
|
|
"it should display three tokens"
|
|
);
|
|
|
|
const authTokenDropdown = selectKit(".auth-token-dropdown");
|
|
await authTokenDropdown.expand();
|
|
await authTokenDropdown.selectRowByValue("notYou");
|
|
|
|
assert.strictEqual(count(".d-modal:visible"), 1, "modal should appear");
|
|
|
|
await click(".modal-footer .btn-primary");
|
|
|
|
assert.strictEqual(
|
|
count(".pref-password.highlighted"),
|
|
1,
|
|
"it should highlight password preferences"
|
|
);
|
|
});
|
|
|
|
test("Viewing user api keys when user has redesign user page navigation enabled", async function (assert) {
|
|
updateCurrentUser({
|
|
redesigned_user_page_nav_enabled: true,
|
|
user_api_keys: [
|
|
{
|
|
id: 1,
|
|
application_name: "Discourse Hub",
|
|
scopes: ["Read and clear notifications"],
|
|
created_at: "2020-11-14T00:57:09.093Z",
|
|
last_used_at: "2022-09-15T18:55:41.672Z",
|
|
},
|
|
],
|
|
});
|
|
|
|
await visit("/u/eviltrout/preferences/security");
|
|
|
|
assert.strictEqual(
|
|
query(".pref-user-api-keys__application-name").innerText.trim(),
|
|
"Discourse Hub",
|
|
"displays the application name for the API key"
|
|
);
|
|
|
|
assert.strictEqual(
|
|
query(".pref-user-api-keys__scopes-list-item").innerText.trim(),
|
|
"Read and clear notifications",
|
|
"displays the scope for the API key"
|
|
);
|
|
|
|
assert.ok(
|
|
exists(".pref-user-api-keys__created-at"),
|
|
"displays the created at date for the API key"
|
|
);
|
|
|
|
assert.ok(
|
|
exists(".pref-user-api-keys__last-used-at"),
|
|
"displays the last used at date for the API key"
|
|
);
|
|
});
|
|
});
|