From b6021dc76b3cd7775ed9a972745f6b984f64830d Mon Sep 17 00:00:00 2001 From: Abdullah Atta Date: Sat, 27 Jul 2024 09:26:18 +0500 Subject: [PATCH] web: fix backup tests for good --- .../__e2e__/models/note-properties.model.ts | 2 +- .../web/__e2e__/models/settings-view.model.ts | 21 ++++++++++--------- apps/web/__e2e__/utils/index.ts | 4 ++-- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/apps/web/__e2e__/models/note-properties.model.ts b/apps/web/__e2e__/models/note-properties.model.ts index 3ccab9335..dfb4ebae6 100644 --- a/apps/web/__e2e__/models/note-properties.model.ts +++ b/apps/web/__e2e__/models/note-properties.model.ts @@ -258,7 +258,7 @@ export class NoteContextMenuModel extends BaseProperties { const zip = await downloadAndReadFile( this.noteLocator.page(), - this.menu.getItem(format), + () => this.menu.getItem(format).click(), null ); diff --git a/apps/web/__e2e__/models/settings-view.model.ts b/apps/web/__e2e__/models/settings-view.model.ts index fe5cedcf3..9902d2813 100644 --- a/apps/web/__e2e__/models/settings-view.model.ts +++ b/apps/web/__e2e__/models/settings-view.model.ts @@ -113,16 +113,17 @@ export class SettingsViewModel { const item = await this.navigation.findItem("Backup & export"); await item?.click(); - const backupData = this.page - .locator(getTestId("setting-create-backup")) - .locator("select"); - - if (password) { - await backupData.selectOption({ value: "partial", label: "Backup" }); - await fillPasswordDialog(this.page, password); - } - - return await downloadAndReadFile(this.page, backupData, "utf-8"); + return await downloadAndReadFile( + this.page, + async () => { + const backupData = this.page + .locator(getTestId("setting-create-backup")) + .locator("select"); + await backupData.selectOption({ value: "partial", label: "Backup" }); + if (password) await fillPasswordDialog(this.page, password); + }, + "utf-8" + ); } async restoreData(filename: string, password?: string) { diff --git a/apps/web/__e2e__/utils/index.ts b/apps/web/__e2e__/utils/index.ts index c1189b986..8d7c5fa9f 100644 --- a/apps/web/__e2e__/utils/index.ts +++ b/apps/web/__e2e__/utils/index.ts @@ -103,12 +103,12 @@ async function editNote(page: Page, note: Partial, noDelay = false) { async function downloadAndReadFile( page: Page, - action: Locator, + action: () => Promise, encoding: BufferEncoding | null | undefined = "utf-8" ) { const [download] = await Promise.all([ page.waitForEvent("download"), - await action.click() + action() ]); const dir = fs.mkdtempSync(join(tmpdir(), "nntests_"));