From ffa3a50b262f87ce2149669fd4549a15939e52b5 Mon Sep 17 00:00:00 2001 From: tudor Date: Tue, 15 Jul 2025 13:02:17 +0200 Subject: [PATCH 1/2] unit test --- packages/pglite/tests/basic.test.ts | 52 ++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/packages/pglite/tests/basic.test.ts b/packages/pglite/tests/basic.test.ts index 8f58c3881..73317f822 100644 --- a/packages/pglite/tests/basic.test.ts +++ b/packages/pglite/tests/basic.test.ts @@ -10,7 +10,57 @@ await testEsmCjsAndDTC(async (importType, defaultDataTransferContainer) => { '../dist/index.cjs' )) as unknown as typeof import('../dist/index.js')) - describe(`basic`, () => { + describe(`#719`, () => { + it('exec', async () => { + const db = new PGlite({ + defaultDataTransferContainer, + }) + await db.exec(` + CREATE TABLE IF NOT EXISTS test ( + id SERIAL PRIMARY KEY, + name TEXT + ); + `) + + try { + const multiStatementResult = await db.exec(` + INSERT INTO test_non_existing (name) VALUES ('test'); + UPDATE test SET name = 'test2'; + SELECT * FROM test; + `) + } catch (e) { + console.log(e) + } + + const multiStatementResult = await db.exec(` + INSERT INTO test (name) VALUES ('test'); + UPDATE test SET name = 'test2'; + SELECT * FROM test; + `) + + expect(multiStatementResult).toEqual([ + { + affectedRows: 1, + rows: [], + fields: [], + }, + { + affectedRows: 2, + rows: [], + fields: [], + }, + { + rows: [{ id: 1, name: 'test2' }], + fields: [ + { name: 'id', dataTypeID: 23 }, + { name: 'name', dataTypeID: 25 }, + ], + affectedRows: 2, + }, + ]) + + }) + it('exec', async () => { const db = new PGlite({ defaultDataTransferContainer, From 0b0c45c3287d6ee098a1118102ddd1c6b8891078 Mon Sep 17 00:00:00 2001 From: tudor Date: Tue, 15 Jul 2025 14:35:03 +0200 Subject: [PATCH 2/2] style --- packages/pglite/tests/basic.test.ts | 55 ++++++++++++++--------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/packages/pglite/tests/basic.test.ts b/packages/pglite/tests/basic.test.ts index 73317f822..8f6bba678 100644 --- a/packages/pglite/tests/basic.test.ts +++ b/packages/pglite/tests/basic.test.ts @@ -22,44 +22,43 @@ await testEsmCjsAndDTC(async (importType, defaultDataTransferContainer) => { ); `) - try { - const multiStatementResult = await db.exec(` + try { + await db.exec(` INSERT INTO test_non_existing (name) VALUES ('test'); UPDATE test SET name = 'test2'; SELECT * FROM test; `) - } catch (e) { - console.log(e) - } + } catch (e) { + console.log(e) + } - const multiStatementResult = await db.exec(` + const multiStatementResult = await db.exec(` INSERT INTO test (name) VALUES ('test'); UPDATE test SET name = 'test2'; SELECT * FROM test; `) - - expect(multiStatementResult).toEqual([ - { - affectedRows: 1, - rows: [], - fields: [], - }, - { - affectedRows: 2, - rows: [], - fields: [], - }, - { - rows: [{ id: 1, name: 'test2' }], - fields: [ - { name: 'id', dataTypeID: 23 }, - { name: 'name', dataTypeID: 25 }, - ], - affectedRows: 2, - }, - ]) - }) + expect(multiStatementResult).toEqual([ + { + affectedRows: 1, + rows: [], + fields: [], + }, + { + affectedRows: 2, + rows: [], + fields: [], + }, + { + rows: [{ id: 1, name: 'test2' }], + fields: [ + { name: 'id', dataTypeID: 23 }, + { name: 'name', dataTypeID: 25 }, + ], + affectedRows: 2, + }, + ]) + }) it('exec', async () => { const db = new PGlite({