diff --git a/e2e-tests/cypress/e2e/browse-data.cy.js b/e2e-tests/cypress/e2e/browse-data.cy.js
index f0dd62f3d..107888cb7 100644
--- a/e2e-tests/cypress/e2e/browse-data.cy.js
+++ b/e2e-tests/cypress/e2e/browse-data.cy.js
@@ -403,17 +403,4 @@ describe('Data browser data', () => {
cy.contains('Novak');
cy.contains('Rows: 8');
});
-
- // it('Import', () => {
- // TBC after Import FIX
- // cy.contains('MySql-connection').click();
- // cy.contains('MyChinook').click();
- // cy.contains('Customer').rightclickclick();
- // cy.contains('Import').click();
- // cy.get('input[type=file]').selectFile('cypress/fixtures/Customer_add.csv');
- // cy.get('table tbody tr').eq(1).within(() => {
- // cy.get('select').select('Append data');
- // });
-
- // });
});
diff --git a/e2e-tests/cypress/e2e/multi-sql.cy.js b/e2e-tests/cypress/e2e/multi-sql.cy.js
index 11ddfe572..7cbbd76c9 100644
--- a/e2e-tests/cypress/e2e/multi-sql.cy.js
+++ b/e2e-tests/cypress/e2e/multi-sql.cy.js
@@ -30,35 +30,35 @@ beforeEach(() => {
function multiTest(testName, testDefinition) {
if (localconfig.mysql) {
- it(testName + ' MySQL', () => testDefinition('MySql-connection', 'mysql@dbgate-plugin-mysql'));
+ it(testName + ' MySQL', () => testDefinition('MySql-connection', 'my_guitar_shop', 'mysql@dbgate-plugin-mysql'));
}
if (localconfig.postgres) {
- it(testName + ' Postgres', () => testDefinition('Postgres-connection', 'postgres@dbgate-plugin-postgres'));
+ it(testName + ' Postgres', () =>
+ testDefinition('Postgres-connection', 'my_guitar_shop', 'postgres@dbgate-plugin-postgres')
+ );
}
if (localconfig.mssql) {
- it(testName + ' Mssql', () => testDefinition('Mssql-connection', 'mssql@dbgate-plugin-mssql'));
+ it(testName + ' Mssql', () => testDefinition('Mssql-connection', 'my_guitar_shop', 'mssql@dbgate-plugin-mssql'));
}
if (localconfig.oracle) {
it(testName + ' Oracle', () =>
- testDefinition('Oracle-connection', 'oracle@dbgate-plugin-oracle', {
- databaseName: 'C##MY_GUITAR_SHOP',
+ testDefinition('Oracle-connection', 'C##MY_GUITAR_SHOP', 'oracle@dbgate-plugin-oracle', {
implicitTransactions: true,
})
);
}
if (localconfig.sqlite) {
- it(testName + ' Sqlite', () => testDefinition('Sqlite-connection', 'sqlite@dbgate-plugin-sqlite'));
+ it(testName + ' Sqlite', () => testDefinition('Sqlite-connection', null, 'sqlite@dbgate-plugin-sqlite'));
}
}
describe('Transactions', () => {
- multiTest('Transactions', (connectionName, engine, options = {}) => {
+ multiTest('Transactions', (connectionName, databaseName, engine, options = {}) => {
const driver = requireEngineDriver(engine);
- const databaseName = options.databaseName ?? 'my_guitar_shop';
const implicitTransactions = options.implicitTransactions ?? false;
cy.contains(connectionName).click();
- cy.contains(databaseName).click();
+ if (databaseName) cy.contains(databaseName).click();
cy.testid('TabsPanel_buttonNewQuery').click();
cy.wait(1000);
cy.get('body').type(
@@ -101,11 +101,9 @@ describe('Transactions', () => {
});
describe('Backup table', () => {
- multiTest('Backup table', (connectionName, engine, options = {}) => {
- const databaseName = options.databaseName ?? 'my_guitar_shop';
-
+ multiTest('Backup table', (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
- cy.contains(databaseName).click();
+ if (databaseName) cy.contains(databaseName).click();
cy.contains('customers').rightclick();
cy.contains('Create table backup').click();
cy.testid('ConfirmSqlModal_okButton').click();
@@ -115,11 +113,9 @@ describe('Backup table', () => {
});
describe('Truncate table', () => {
- multiTest('Truncate table', (connectionName, engine, options = {}) => {
- const databaseName = options.databaseName ?? 'my_guitar_shop';
-
+ multiTest('Truncate table', (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
- cy.contains(databaseName).click();
+ if (databaseName) cy.contains(databaseName).click();
cy.contains('order_items').rightclick();
cy.contains('Truncate table').click();
cy.testid('ConfirmSqlModal_okButton').click();
@@ -129,14 +125,39 @@ describe('Truncate table', () => {
});
describe('Drop table', () => {
- multiTest('Drop table', (connectionName, engine, options = {}) => {
- const databaseName = options.databaseName ?? 'my_guitar_shop';
-
+ multiTest('Drop table', (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
- cy.contains(databaseName).click();
+ if (databaseName) cy.contains(databaseName).click();
cy.contains('order_items').rightclick();
cy.contains('Drop table').click();
cy.testid('ConfirmSqlModal_okButton').click();
cy.contains('order_items').should('not.exist');
});
});
+
+describe('Import CSV', () => {
+ multiTest('Import CSV', (connectionName, databaseName, engine, options = {}) => {
+ cy.contains(connectionName).click();
+ if (databaseName) cy.contains(databaseName).click();
+ cy.testid('ConnectionList_container')
+ .contains(databaseName ?? connectionName)
+ .rightclick();
+ cy.contains('Import').click();
+
+ cy.get('input[type=file]').selectFile('cypress/fixtures/customers-20.csv', { force: true });
+ cy.contains('customers-20');
+
+ cy.testid('ImportExportTab_executeButton').click();
+ cy.contains('20 rows written').should('be.visible');
+
+ cy.testid('SqlObjectList_refreshButton').click();
+ cy.testid('SqlObjectList_container').contains('customers-20').click();
+ cy.contains('Rows: 20').should('be.visible');
+
+ // cy.get('table tbody tr')
+ // .eq(1)
+ // .within(() => {
+ // cy.get('select').select('Append data');
+ // });
+ });
+});
diff --git a/e2e-tests/cypress/fixtures/customers-20.csv b/e2e-tests/cypress/fixtures/customers-20.csv
new file mode 100644
index 000000000..af5fa719b
--- /dev/null
+++ b/e2e-tests/cypress/fixtures/customers-20.csv
@@ -0,0 +1,21 @@
+Index,Customer Id,First Name,Last Name,Company,City,Country,Phone 1,Phone 2,Email,Subscription Date,Website
+1,50ddd99fAdF48B3,Jessica,Navarro,"Tran, Odom and Graham",Port Terranceview,Jersey,(883)287-7947,479-044-3187,wmcintyre@myers.net,2023-03-11,http://pennington.com/
+2,BD1AB97979DDcDe,Preston,Andrews,"Townsend, Lawrence and Davenport",Harringtonmouth,Croatia,188-270-5676x63873,001-428-148-4270,bradley63@jacobs.net,2023-11-15,http://burke.com/
+3,0FDDD9aCa501acE,Melissa,Mckay,Rivas-Cooke,Oliviabury,Cook Islands,8257631531,001-650-689-5600x927,ugalloway@maxwell-mcclain.com,2025-01-25,https://patrick.com/
+4,A7dA284B7c4AfaD,Frank,Livingston,"Lambert, Garner and Mathews",Mallorytown,Faroe Islands,766.182.6201x689,+1-476-912-2027x4370,tracie00@webster.biz,2021-03-27,https://www.hart.com/
+5,38bb1624e4f8211,Ross,Mendoza,Cook and Sons,New Perry,Bolivia,001-440-468-2236,165.562.4328x9274,austincarmen@abbott.com,2024-12-12,http://harmon.com/
+6,55c9Fda2BABFE1a,Jane,Tate,Knapp PLC,West Kathyshire,Morocco,001-606-447-0584x07975,(003)872-1307x285,carlosgomez@mcpherson-ramos.biz,2021-09-13,http://www.yu.com/
+7,A15eccAc67cCc5b,Tanya,Chung,Frost Inc,South Julieburgh,United States of America,778-360-8301x268,+1-034-169-4237,onewton@crosby.com,2024-10-01,http://www.gill-velez.biz/
+8,aFdab04acACaf90,Jackson,Moyer,Bowen Ltd,Port Triciabury,Bahrain,001-187-882-2891x169,154.903.2525,gabriela16@mejia.org,2023-06-20,http://www.david.biz/
+9,A2EaeAd3c6529B9,Kelly,Douglas,Phillips PLC,Weissberg,Qatar,767.177.3199x5576,5156730935,wigginsmercedes@tanner.com,2021-06-30,https://gonzalez.net/
+10,188175A5641d080,Mariah,Riddle,"Mata, Fuller and Good",Choiton,Namibia,092-993-3559x342,190.937.3937,eileen32@greer.biz,2021-04-17,http://www.bowen.info/
+11,B2BA817C7bC09f0,Kristine,Pennington,"Koch, Diaz and Valdez",Port Rachael,Suriname,877.152.6488x921,790-804-9979x3290,tonya00@flynn.com,2024-03-28,https://www.rocha.net/
+12,fFAD70B5Febc43a,Robert,Adams,Bender-Wolfe,Billfort,Tanzania,219-696-1912x93626,518-969-4058,jeffersoncolton@moss-ashley.com,2022-07-31,https://www.alvarez.com/
+13,9a44524E1261Ed6,Franklin,Costa,Werner Group,North Bradley,Cook Islands,(895)448-4681x1999,648-345-3083x88242,marksmith@novak.com,2024-12-03,http://thornton.com/
+14,0C360EfE17D06cc,Dan,Ballard,Sampson-Huff,Michaelchester,Sao Tome and Principe,+1-803-469-5237x2580,(729)574-6101x0605,molly54@acevedo.info,2022-10-24,https://www.sloan-gonzales.biz/
+15,fb5cE8cb1eF2954,Clifford,Moyer,Fry-Whitehead,Lake Gary,Japan,(504)263-0450,247.514.1614x551,rhonda34@orr.com,2020-03-08,https://norton.com/
+16,3e53DcaD1cB0054,Tonya,Durham,"Lowe, West and Reynolds",South Sylviaton,Brunei Darussalam,(613)893-8183,(461)399-6120,kiara96@meadows.biz,2022-08-04,https://www.reeves.com/
+17,83fDDE5812EbEde,Dale,Bishop,Shaw-Ray,Lake Miranda,Congo,(082)202-9241,+1-413-610-1854x79378,bhoward@hodges.biz,2023-05-08,http://www.escobar.com/
+18,8dB7ACe2C5758cE,Priscilla,Mills,Pope PLC,North Cliffordshire,South Georgia and the South Sandwich Islands,+1-465-802-4573x30191,044-393-6049x598,nathaniel28@hess.com,2020-09-08,https://www.watts.org/
+19,c1092ebDaF2ceED,Alice,Bond,Chan-Liu,West Wesley,Lithuania,+1-333-285-8515,(715)759-3158x77103,jose92@peters.com,2024-05-30,http://www.marquez.com/
+20,4d0c95579D095aF,Cole,Compton,Calderon PLC,Robertaville,Saudi Arabia,029.862.3387x470,001-319-474-2394,sspence@dorsey.com,2020-08-02,http://hamilton.net/
diff --git a/packages/api/src/controllers/databaseConnections.js b/packages/api/src/controllers/databaseConnections.js
index 823c947c5..7e811a7fd 100644
--- a/packages/api/src/controllers/databaseConnections.js
+++ b/packages/api/src/controllers/databaseConnections.js
@@ -233,6 +233,7 @@ module.exports = {
dispatchDatabaseChangedEvent_meta: true,
dispatchDatabaseChangedEvent({ event, conid, database }) {
socket.emitChanged(event, { conid, database });
+ return null;
},
loadKeys_meta: true,
diff --git a/packages/web/src/tabs/ImportExportTab.svelte b/packages/web/src/tabs/ImportExportTab.svelte
index 47ef6ac40..a53dda4e1 100644
--- a/packages/web/src/tabs/ImportExportTab.svelte
+++ b/packages/web/src/tabs/ImportExportTab.svelte
@@ -298,11 +298,17 @@
{#if busy}
- Stop
+ Stop
{:else}
- Run
+ Run
{/if}
- Generate script
+ Generate script
diff --git a/packages/web/src/widgets/ConnectionList.svelte b/packages/web/src/widgets/ConnectionList.svelte
index 85cc5541b..463e46e23 100644
--- a/packages/web/src/widgets/ConnectionList.svelte
+++ b/packages/web/src/widgets/ConnectionList.svelte
@@ -248,6 +248,7 @@
handleDropOnGroup(data, '');
}
}}
+ data-testid="ConnectionList_container"
>