SYNC: CSV import test

This commit is contained in:
SPRINX0\prochazka
2025-03-05 14:21:19 +01:00
committed by Diflow
parent 9265e52d68
commit 0ece662d8c
6 changed files with 74 additions and 37 deletions

View File

@@ -403,17 +403,4 @@ describe('Data browser data', () => {
cy.contains('Novak'); cy.contains('Novak');
cy.contains('Rows: 8'); 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');
// });
// });
}); });

View File

@@ -30,35 +30,35 @@ beforeEach(() => {
function multiTest(testName, testDefinition) { function multiTest(testName, testDefinition) {
if (localconfig.mysql) { 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) { 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) { 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) { if (localconfig.oracle) {
it(testName + ' Oracle', () => it(testName + ' Oracle', () =>
testDefinition('Oracle-connection', 'oracle@dbgate-plugin-oracle', { testDefinition('Oracle-connection', 'C##MY_GUITAR_SHOP', 'oracle@dbgate-plugin-oracle', {
databaseName: 'C##MY_GUITAR_SHOP',
implicitTransactions: true, implicitTransactions: true,
}) })
); );
} }
if (localconfig.sqlite) { 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', () => { describe('Transactions', () => {
multiTest('Transactions', (connectionName, engine, options = {}) => { multiTest('Transactions', (connectionName, databaseName, engine, options = {}) => {
const driver = requireEngineDriver(engine); const driver = requireEngineDriver(engine);
const databaseName = options.databaseName ?? 'my_guitar_shop';
const implicitTransactions = options.implicitTransactions ?? false; const implicitTransactions = options.implicitTransactions ?? false;
cy.contains(connectionName).click(); cy.contains(connectionName).click();
cy.contains(databaseName).click(); if (databaseName) cy.contains(databaseName).click();
cy.testid('TabsPanel_buttonNewQuery').click(); cy.testid('TabsPanel_buttonNewQuery').click();
cy.wait(1000); cy.wait(1000);
cy.get('body').type( cy.get('body').type(
@@ -101,11 +101,9 @@ describe('Transactions', () => {
}); });
describe('Backup table', () => { describe('Backup table', () => {
multiTest('Backup table', (connectionName, engine, options = {}) => { multiTest('Backup table', (connectionName, databaseName, engine, options = {}) => {
const databaseName = options.databaseName ?? 'my_guitar_shop';
cy.contains(connectionName).click(); cy.contains(connectionName).click();
cy.contains(databaseName).click(); if (databaseName) cy.contains(databaseName).click();
cy.contains('customers').rightclick(); cy.contains('customers').rightclick();
cy.contains('Create table backup').click(); cy.contains('Create table backup').click();
cy.testid('ConfirmSqlModal_okButton').click(); cy.testid('ConfirmSqlModal_okButton').click();
@@ -115,11 +113,9 @@ describe('Backup table', () => {
}); });
describe('Truncate table', () => { describe('Truncate table', () => {
multiTest('Truncate table', (connectionName, engine, options = {}) => { multiTest('Truncate table', (connectionName, databaseName, engine, options = {}) => {
const databaseName = options.databaseName ?? 'my_guitar_shop';
cy.contains(connectionName).click(); cy.contains(connectionName).click();
cy.contains(databaseName).click(); if (databaseName) cy.contains(databaseName).click();
cy.contains('order_items').rightclick(); cy.contains('order_items').rightclick();
cy.contains('Truncate table').click(); cy.contains('Truncate table').click();
cy.testid('ConfirmSqlModal_okButton').click(); cy.testid('ConfirmSqlModal_okButton').click();
@@ -129,14 +125,39 @@ describe('Truncate table', () => {
}); });
describe('Drop table', () => { describe('Drop table', () => {
multiTest('Drop table', (connectionName, engine, options = {}) => { multiTest('Drop table', (connectionName, databaseName, engine, options = {}) => {
const databaseName = options.databaseName ?? 'my_guitar_shop';
cy.contains(connectionName).click(); cy.contains(connectionName).click();
cy.contains(databaseName).click(); if (databaseName) cy.contains(databaseName).click();
cy.contains('order_items').rightclick(); cy.contains('order_items').rightclick();
cy.contains('Drop table').click(); cy.contains('Drop table').click();
cy.testid('ConfirmSqlModal_okButton').click(); cy.testid('ConfirmSqlModal_okButton').click();
cy.contains('order_items').should('not.exist'); 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');
// });
});
});

View File

@@ -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/
1 Index Customer Id First Name Last Name Company City Country Phone 1 Phone 2 Email Subscription Date Website
2 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/
3 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/
4 3 0FDDD9aCa501acE Melissa Mckay Rivas-Cooke Oliviabury Cook Islands 8257631531 001-650-689-5600x927 ugalloway@maxwell-mcclain.com 2025-01-25 https://patrick.com/
5 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/
6 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/
7 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/
8 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/
9 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/
10 9 A2EaeAd3c6529B9 Kelly Douglas Phillips PLC Weissberg Qatar 767.177.3199x5576 5156730935 wigginsmercedes@tanner.com 2021-06-30 https://gonzalez.net/
11 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/
12 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/
13 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/
14 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/
15 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/
16 15 fb5cE8cb1eF2954 Clifford Moyer Fry-Whitehead Lake Gary Japan (504)263-0450 247.514.1614x551 rhonda34@orr.com 2020-03-08 https://norton.com/
17 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/
18 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/
19 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/
20 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/
21 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/

View File

@@ -233,6 +233,7 @@ module.exports = {
dispatchDatabaseChangedEvent_meta: true, dispatchDatabaseChangedEvent_meta: true,
dispatchDatabaseChangedEvent({ event, conid, database }) { dispatchDatabaseChangedEvent({ event, conid, database }) {
socket.emitChanged(event, { conid, database }); socket.emitChanged(event, { conid, database });
return null;
}, },
loadKeys_meta: true, loadKeys_meta: true,

View File

@@ -298,11 +298,17 @@
</FormProviderCore> </FormProviderCore>
<svelte:fragment slot="toolstrip"> <svelte:fragment slot="toolstrip">
{#if busy} {#if busy}
<ToolStripButton icon="icon stop" on:click={handleCancel}>Stop</ToolStripButton> <ToolStripButton icon="icon stop" on:click={handleCancel} data-testid="ImportExportTab_stopButton"
>Stop</ToolStripButton
>
{:else} {:else}
<ToolStripButton on:click={handleExecute} icon="icon run">Run</ToolStripButton> <ToolStripButton on:click={handleExecute} icon="icon run" data-testid="ImportExportTab_executeButton"
>Run</ToolStripButton
>
{/if} {/if}
<ToolStripButton icon="img shell" on:click={handleGenerateScript}>Generate script</ToolStripButton> <ToolStripButton icon="img shell" on:click={handleGenerateScript} data-testid="ImportExportTab_generateScriptButton"
>Generate script</ToolStripButton
>
<ToolStripSaveButton idPrefix="job" /> <ToolStripSaveButton idPrefix="job" />
</svelte:fragment> </svelte:fragment>
</ToolStripContainer> </ToolStripContainer>

View File

@@ -248,6 +248,7 @@
handleDropOnGroup(data, ''); handleDropOnGroup(data, '');
} }
}} }}
data-testid="ConnectionList_container"
> >
<AppObjectListHandler <AppObjectListHandler
bind:this={domListHandler} bind:this={domListHandler}