From b6a664ac8962ff546399c257b34ccf784d03a92a Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 1 Dec 2021 22:58:08 -0600 Subject: [PATCH] Fixed to do index++ when fetching generated ids (with test coverage) --- .../qqq/backend/module/rdbms/actions/RDBMSInsertAction.java | 2 +- .../backend/module/rdbms/actions/RDBMSInsertActionTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java index 087fe7cf..3754c14c 100644 --- a/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java +++ b/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertAction.java @@ -80,7 +80,7 @@ public class RDBMSInsertAction extends AbstractRDBMSAction implements InsertInte int index = 0; for(QRecord record : insertRequest.getRecords()) { - Integer id = idList.get(index); + Integer id = idList.get(index++); QRecordWithStatus recordWithStatus = new QRecordWithStatus(record); recordWithStatus.setPrimaryKey(id); recordWithStatus.setValue(table.getPrimaryKeyField(), id); diff --git a/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java b/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java index 151d5d3d..c78b913f 100644 --- a/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java +++ b/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSInsertActionTest.java @@ -81,8 +81,8 @@ public class RDBMSInsertActionTest extends RDBMSActionTest insertRequest.setRecords(List.of(record1, record2)); InsertResult insertResult = new RDBMSInsertAction().execute(insertRequest); assertEquals(2, insertResult.getRecords().size(), "Should return 1 row"); - assertNotNull(insertResult.getRecords().get(0).getValue("id"), "Should have an id in the row"); - assertNotNull(insertResult.getRecords().get(1).getValue("id"), "Should have an id in the row"); + assertEquals(6, insertResult.getRecords().get(0).getValue("id"), "Should have next id in the row"); + assertEquals(7, insertResult.getRecords().get(1).getValue("id"), "Should have next id in the row"); assertTrue(insertResult.getRecords().stream().noneMatch(qrs -> CollectionUtils.nullSafeHasContents(qrs.getErrors())), "There should be no errors"); runTestSql("SELECT * FROM person WHERE last_name = 'Picard'", (rs -> { int rowsFound = 0;