From a37f2a5240b0dec469e01f1ebc280e55086d7a00 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Wed, 11 Dec 2024 10:36:01 +0100 Subject: [PATCH] select scope identity test --- integration-tests/__tests__/query.spec.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/integration-tests/__tests__/query.spec.js b/integration-tests/__tests__/query.spec.js index ff399d3c1..7806c7f6e 100644 --- a/integration-tests/__tests__/query.spec.js +++ b/integration-tests/__tests__/query.spec.js @@ -179,4 +179,27 @@ describe('Query', () => { expect(res.rows[0].cnt == 3).toBeTruthy(); }) ); + + test.each(engines.map(engine => [engine.label, engine]))( + 'Select scope identity - %s', + testWrapper(async (conn, driver, engine) => { + const table = { + pureName: 't1', + columns: [ + { columnName: 'id', dataType: 'int', notNull: true, autoIncrement: true }, + { columnName: 'val', dataType: 'varchar(50)' }, + ], + primaryKey: { + columns: [{ columnName: 'id' }], + }, + }; + await runCommandOnDriver(conn, driver, dmp => dmp.createTable(table)); + await runCommandOnDriver(conn, driver, dmp => dmp.put("INSERT INTO ~t1 (~val) VALUES ('aaa')")); + const res = await runQueryOnDriver(conn, driver, dmp => dmp.selectScopeIdentity()); + const row = res.rows[0]; + const keys = Object.keys(row); + expect(keys.length).toEqual(1); + expect(row[keys[0]] == 1).toBeTruthy(); + }) + ); });