fix: loading stuck on recovery finish

This commit is contained in:
thecodrr
2022-01-03 13:20:01 +05:00
parent 54c013fb15
commit 313957b736
4 changed files with 78 additions and 11 deletions

View File

@@ -28,6 +28,13 @@ async function logoutUser() {
expect(await isAbsent(getTestId("navitem-sync"))).toBe(true);
}
async function forceExpireSession() {
await page.evaluate(() => {
window.localStorage.setItem("sessionExpired", "true");
});
await page.reload();
}
test("login user", async () => {
await loginUser();
@@ -146,3 +153,62 @@ test("reset user password", async ({ page, browserName }) => {
newKey = cKey;
}
});
test("reset user password after session expiry", async ({
page,
browserName,
}) => {
test.setTimeout(2 * 60 * 1000);
test.skip(browserName !== "chromium", "Cannot run in parallel.");
let currentPassword = "";
let currentKey = "";
let newPassword = USER.password;
let newKey = "";
let email = USER.email;
for (let i = 0; i <= 1; ++i) {
await loginUser({ email, password: currentPassword });
await forceExpireSession();
await page.click(getTestId("auth-forgot-password"));
await page.click(getTestId("submitButton"));
await page.waitForSelector(getTestId("step-backup-data"));
await page.click(getTestId("step-next"));
await page.waitForSelector(getTestId("step-new-password"));
await page.fill(getTestId("new_password"), newPassword);
await page.click(getTestId("step-next"));
await page.waitForSelector(getTestId("step-finished"));
const actualRecoveryKey = await page.innerText(
getTestId("new-recovery-key")
);
expect(actualRecoveryKey).toBe(newKey);
await page.click(getTestId("step-finish"));
await loginUser({ password: newPassword }, false);
await page.waitForSelector(getTestId("sync-status-success"));
await logoutUser();
const cPassword = currentPassword;
currentPassword = newPassword;
newPassword = cPassword;
const cKey = currentKey;
currentKey = newKey;
newKey = cKey;
}
});

View File

@@ -13,7 +13,7 @@ const USER = {
async function loginUser(user = USER, navigate = true) {
if (navigate) await page.click(getTestId("navitem-login"));
await page.fill(getTestId("email"), user.email);
if (user.email) await page.fill(getTestId("email"), user.email);
await page.fill(getTestId("password"), user.password);

View File

@@ -18,14 +18,14 @@ const projects = IS_CI
browserName: "chromium",
},
},
{
name: "Firefox",
use: { browserName: "firefox" },
},
{
name: "WebKit",
use: { browserName: "webkit" },
},
// {
// name: "Firefox",
// use: { browserName: "firefox" },
// },
// {
// name: "WebKit",
// use: { browserName: "webkit" },
// },
];
module.exports = {
@@ -44,7 +44,7 @@ module.exports = {
reporter: "list",
retries: IS_CI ? 3 : 1,
use: {
headless: true,
headless: false,
acceptDownloads: true,
// Artifacts

View File

@@ -400,7 +400,8 @@ function FinalStep() {
})();
}, [isSessionExpired]);
if (!isReady) return <Loader title={"Finalizing. Please wait..."} />;
if (!isReady && !isSessionExpired)
return <Loader title={"Finalizing. Please wait..."} />;
return (
<Step
heading="Account password changed"