diff --git a/e2e-tests/cypress/e2e/browse-data.cy.js b/e2e-tests/cypress/e2e/browse-data.cy.js index 87f16a17c..18bc8e586 100644 --- a/e2e-tests/cypress/e2e/browse-data.cy.js +++ b/e2e-tests/cypress/e2e/browse-data.cy.js @@ -350,11 +350,13 @@ describe('Data browser data', () => { cy.themeshot('comparesettings'); }); - it('Query editor - AI assistant', () => { + it.only('Query editor - AI assistant', () => { cy.contains('MySql-connection').click(); cy.contains('MyChinook').click(); cy.testid('TabsPanel_buttonNewQuery').click(); cy.testid('QueryTab_switchAiAssistantButton').click(); + cy.testid('QueryAiAssistant_allowSendToAiServiceButton').click(); + cy.testid('ConfirmModal_okButton').click(); cy.testid('QueryAiAssistant_promptInput').type('album names'); cy.testid('QueryAiAssistant_queryFromQuestionButton').click(); cy.contains('Use this').click(); diff --git a/e2e-tests/e2eTestTools.js b/e2e-tests/e2eTestTools.js index 417670d8e..2ff82a52f 100644 --- a/e2e-tests/e2eTestTools.js +++ b/e2e-tests/e2eTestTools.js @@ -22,6 +22,9 @@ function clearTestingData() { if (fs.existsSync(path.join(baseDir, 'connections-e2etests.jsonl'))) { fs.unlinkSync(path.join(baseDir, 'connections-e2etests.jsonl')); } + if (fs.existsSync(path.join(baseDir, 'settings-e2etests.jsonl'))) { + fs.unlinkSync(path.join(baseDir, 'settings-e2etests.jsonl')); + } if (fs.existsSync(path.join(baseDir, 'files-e2etests'))) { fs.rmdirSync(path.join(baseDir, 'files-e2etests'), { recursive: true }); } diff --git a/packages/api/src/controllers/config.js b/packages/api/src/controllers/config.js index bb2cd21e2..451331c55 100644 --- a/packages/api/src/controllers/config.js +++ b/packages/api/src/controllers/config.js @@ -136,7 +136,7 @@ module.exports = { deleteSettings_meta: true, async deleteSettings() { - await fs.unlink(path.join(datadir(), 'settings.json')); + await fs.unlink(path.join(datadir(), processArgs.runE2eTests ? 'settings-e2etests.json' : 'settings.json')); return true; }, @@ -161,7 +161,10 @@ module.exports = { async loadSettings() { try { - const settingsText = await fs.readFile(path.join(datadir(), 'settings.json'), { encoding: 'utf-8' }); + const settingsText = await fs.readFile( + path.join(datadir(), processArgs.runE2eTests ? 'settings-e2etests.json' : 'settings.json'), + { encoding: 'utf-8' } + ); return { ...this.fillMissingSettings(JSON.parse(settingsText)), 'other.licenseKey': platformInfo.isElectron ? await this.loadLicenseKey() : undefined, @@ -247,7 +250,10 @@ module.exports = { ...currentValue, ..._.omit(values, ['other.licenseKey']), }; - await fs.writeFile(path.join(datadir(), 'settings.json'), JSON.stringify(updated, undefined, 2)); + await fs.writeFile( + path.join(datadir(), processArgs.runE2eTests ? 'settings-e2etests.json' : 'settings.json'), + JSON.stringify(updated, undefined, 2) + ); // this.settingsValue = updated; if (currentValue['other.licenseKey'] != values['other.licenseKey']) {