From 9d69a6d688279d7d04af8f3394e4aa6f79602c85 Mon Sep 17 00:00:00 2001 From: Will Chen Date: Thu, 10 Jul 2025 10:23:22 -0700 Subject: [PATCH] Fix backup tests (#620) --- e2e-tests/backup.spec.ts | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/e2e-tests/backup.spec.ts b/e2e-tests/backup.spec.ts index a18da84..3994c9f 100644 --- a/e2e-tests/backup.spec.ts +++ b/e2e-tests/backup.spec.ts @@ -4,6 +4,7 @@ import * as crypto from "crypto"; import { testWithConfig, test, PageObject } from "./helpers/test_helper"; import { expect } from "@playwright/test"; +const BACKUP_SETTINGS = { testFixture: true }; const testWithLastVersion = testWithConfig({ preLaunchHook: async ({ userDataDir }) => { fs.mkdirSync(path.join(userDataDir), { recursive: true }); @@ -12,6 +13,10 @@ const testWithLastVersion = testWithConfig({ path.join(__dirname, "fixtures", "backups", "empty-v0.12.0-beta.1.db"), path.join(userDataDir, "sqlite.db"), ); + fs.writeFileSync( + path.join(userDataDir, "user-settings.json"), + JSON.stringify(BACKUP_SETTINGS, null, 2), + ); }, }); @@ -20,6 +25,10 @@ const testWithMultipleBackups = testWithConfig({ fs.mkdirSync(path.join(userDataDir), { recursive: true }); // Make sure there's a last version file so the version upgrade is detected. fs.writeFileSync(path.join(userDataDir, ".last_version"), "0.1.0"); + fs.writeFileSync( + path.join(userDataDir, "user-settings.json"), + JSON.stringify(BACKUP_SETTINGS, null, 2), + ); // Create backups directory const backupsDir = path.join(userDataDir, "backups"); @@ -132,17 +141,11 @@ testWithLastVersion( expect(backupMetadata.checksums.database).toBeDefined(); // Compare the backup files to the original files - const originalSettings = fs.readFileSync( - path.join(po.userDataDir, "user-settings.json"), - "utf8", - ); const backupSettings = fs.readFileSync( path.join(backupDir, "user-settings.json"), "utf8", ); - expect(cleanSettings(backupSettings)).toEqual( - cleanSettings(originalSettings), - ); + expect(backupSettings).toEqual(JSON.stringify(BACKUP_SETTINGS, null, 2)); // For database, verify the backup file exists and has correct checksum const backupDbPath = path.join(backupDir, "sqlite.db"); @@ -214,14 +217,6 @@ testWithMultipleBackups( }, ); -function cleanSettings(settings: string) { - const parsed = JSON.parse(settings); - delete parsed.hasRunBefore; - delete parsed.isTestMode; - delete parsed.lastShownReleaseNotesVersion; - return parsed; -} - function calculateChecksum(filePath: string): string { const fileBuffer = fs.readFileSync(filePath); const hash = crypto.createHash("sha256");