diff --git a/package-lock.json b/package-lock.json index dec4bc43..016d9e54 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "privacy.sexy", - "version": "0.13.3", + "version": "0.13.4", "hasInstallScript": true, "dependencies": { "@floating-ui/vue": "^1.0.6", @@ -34,7 +34,7 @@ "@vue/test-utils": "^2.4.5", "autoprefixer": "^10.4.19", "cypress": "^13.7.3", - "electron": "^29.3.0", + "electron": "^31.0.2", "electron-builder": "^24.13.3", "electron-devtools-installer": "^3.2.0", "electron-vite": "^2.1.0", @@ -6645,11 +6645,12 @@ } }, "node_modules/electron": { - "version": "29.3.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-29.3.0.tgz", - "integrity": "sha512-ZxFKm0/v48GSoBuO3DdnMlCYXefEUKUHLMsKxyXY4nZGgzbBKpF/X8haZa2paNj23CLfsCKBOtfc2vsEQiOOsA==", + "version": "31.0.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-31.0.2.tgz", + "integrity": "sha512-55efQ5yfLN+AQHcFC00AXQqtxC3iAGaxX2GQ3EDbFJ0ca9GHNOdSXkcrdBElLleiDrR2hpXNkQxN1bDn0oxe6w==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^20.9.0", @@ -22338,9 +22339,9 @@ } }, "electron": { - "version": "29.3.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-29.3.0.tgz", - "integrity": "sha512-ZxFKm0/v48GSoBuO3DdnMlCYXefEUKUHLMsKxyXY4nZGgzbBKpF/X8haZa2paNj23CLfsCKBOtfc2vsEQiOOsA==", + "version": "31.0.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-31.0.2.tgz", + "integrity": "sha512-55efQ5yfLN+AQHcFC00AXQqtxC3iAGaxX2GQ3EDbFJ0ca9GHNOdSXkcrdBElLleiDrR2hpXNkQxN1bDn0oxe6w==", "dev": true, "requires": { "@electron/get": "^2.0.0", diff --git a/package.json b/package.json index 6d597476..d8ac71e6 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "@vue/test-utils": "^2.4.5", "autoprefixer": "^10.4.19", "cypress": "^13.7.3", - "electron": "^29.3.0", + "electron": "^31.0.2", "electron-builder": "^24.13.3", "electron-devtools-installer": "^3.2.0", "electron-vite": "^2.1.0", diff --git a/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts b/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts index 5cb91799..4970eabb 100644 --- a/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts @@ -90,7 +90,7 @@ export class NodeElectronSaveFileDialog implements ElectronSaveFileDialog { if (!dialogResult.filePath) { return { success: false, - error: { type: 'DialogDisplayError', message: 'Unexpected Error: File path is undefined after save dialog completion.' }, + error: { type: 'DialogDisplayError', message: 'Unexpected Error: File path is empty after save dialog completion.' }, }; } return { success: true, filePath: dialogResult.filePath }; diff --git a/tests/unit/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.spec.ts b/tests/unit/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.spec.ts index f18af771..6c2a02f1 100644 --- a/tests/unit/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.spec.ts +++ b/tests/unit/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.spec.ts @@ -305,14 +305,12 @@ describe('NodeElectronSaveFileDialog', () => { { description: 'unexpected dialog return value failure', expectedErrorType: 'DialogDisplayError', - expectedErrorMessage: 'Unexpected Error: File path is undefined after save dialog completion.', + expectedErrorMessage: 'Unexpected Error: File path is empty after save dialog completion.', expectLogs: true, buildFaultyContext: (setup) => { - const electronMock = new ElectronFileDialogOperationsStub().withMimicUserCancel(false); - electronMock.showSaveDialog = () => Promise.resolve({ - canceled: false, - filePath: undefined, - }); + const electronMock = new ElectronFileDialogOperationsStub() + .withUserSelectedFilePath('') + .withMimicUserCancel(false); return setup .withElectron(electronMock); },