This is an automated email from the ASF dual-hosted git repository.
adamsaghy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 28e9a6213 FINERACT-1911: Assign Data Table to Transaction - validation
28e9a6213 is described below
commit 28e9a62137c98dbb15b5247b025c7b36c4b12f7b
Author: jmarta <[email protected]>
AuthorDate: Tue Aug 29 12:34:06 2023 +0200
FINERACT-1911: Assign Data Table to Transaction - validation
---
.../DatatableCommandFromApiJsonDeserializer.java | 65 +++++++++-----
.../fineract/integrationtests/BatchApiTest.java | 16 ++--
.../EntityDatatableChecksIntegrationTest.java | 2 +-
.../common/system/DatatableHelper.java | 30 +++----
.../datatable/DatatableAdvancedQueryTest.java | 12 +--
.../datatable/DatatableIntegrationTest.java | 99 ++++++++++++++--------
6 files changed, 136 insertions(+), 88 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java
index 0a8f20068..0d2d96da5 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/serialization/DatatableCommandFromApiJsonDeserializer.java
@@ -132,7 +132,7 @@ public class DatatableCommandFromApiJsonDeserializer {
EntityTables entityTable = EntityTables.fromEntityName(apptableName);
validateEntitySubType(baseDataValidator, element, entityTable);
- final String fkColumnName =
entityTable.getForeignKeyColumnNameOnDatatable();
+ final String fkColumnName = entityTable == null ? null :
entityTable.getForeignKeyColumnNameOnDatatable();
final Boolean multiRow =
this.fromApiJsonHelper.extractBooleanNamed(API_PARAM_MULTIROW, element);
baseDataValidator.reset().parameter(API_PARAM_MULTIROW).value(multiRow).ignoreIfNull().notBlank().isOneOfTheseValues(true,
false);
@@ -303,16 +303,17 @@ public class DatatableCommandFromApiJsonDeserializer {
if (type == null) {
return;
}
- final Integer length =
this.fromApiJsonHelper.extractIntegerSansLocaleNamed(API_FIELD_LENGTH, column);
- JdbcJavaType jdbcType = mapApiTypeToJdbcType(type);
- validator =
validator.reset().parameter(API_FIELD_LENGTH).value(length);
- if (jdbcType.hasPrecision(databaseTypeResolver.databaseType())) {
- if (jdbcType.isStringType() && length == null) {
- validator.failWithCode("must.be.provided.when.type.is.String");
- }
- validator.ignoreIfNull().positiveAmount();
- } // else, the precision is ignored
-
+ JdbcJavaType jdbcType = mapApiTypeToJdbcType(type, false);
+ if (jdbcType != null) {
+ final Integer length =
this.fromApiJsonHelper.extractIntegerSansLocaleNamed(API_FIELD_LENGTH, column);
+ validator =
validator.reset().parameter(API_FIELD_LENGTH).value(length);
+ if (jdbcType.hasPrecision(databaseTypeResolver.databaseType())) {
+ if (jdbcType.isStringType() && length == null) {
+
validator.failWithCode("must.be.provided.when.type.is.String");
+ }
+ validator.ignoreIfNull().positiveAmount();
+ } // else, the precision is ignored
+ }
final String code =
this.fromApiJsonHelper.extractStringNamed(API_FIELD_CODE, column);
if (type.equalsIgnoreCase(API_FIELD_TYPE_DROPDOWN)) {
if (code != null) {
@@ -325,20 +326,38 @@ public class DatatableCommandFromApiJsonDeserializer {
}
}
+ private static JdbcJavaType mapApiTypeToJdbcType(@NotNull String apiType,
boolean fail) {
+ switch (apiType.toLowerCase()) {
+ case API_FIELD_TYPE_STRING:
+ return VARCHAR;
+ case API_FIELD_TYPE_NUMBER, API_FIELD_TYPE_DROPDOWN:
+ return INTEGER;
+ case API_FIELD_TYPE_BOOLEAN:
+ return BOOLEAN;
+ case API_FIELD_TYPE_DECIMAL:
+ return DECIMAL;
+ case API_FIELD_TYPE_DATE:
+ return DATE;
+ case API_FIELD_TYPE_DATETIME:
+ return DATETIME;
+ case API_FIELD_TYPE_TIMESTAMP:
+ return TIMESTAMP;
+ case API_FIELD_TYPE_TEXT:
+ return TEXT;
+ default: {
+ if (fail) {
+ throw new
PlatformDataIntegrityException("error.msg.datatable.column.type.invalid",
+ "Column type " + apiType + " is not supported.");
+ } else {
+ return null;
+ }
+ }
+ }
+ }
+
@NotNull
public static JdbcJavaType mapApiTypeToJdbcType(@NotNull String apiType) {
- return switch (apiType.toLowerCase()) {
- case API_FIELD_TYPE_STRING -> VARCHAR;
- case API_FIELD_TYPE_NUMBER, API_FIELD_TYPE_DROPDOWN -> INTEGER;
- case API_FIELD_TYPE_BOOLEAN -> BOOLEAN;
- case API_FIELD_TYPE_DECIMAL -> DECIMAL;
- case API_FIELD_TYPE_DATE -> DATE;
- case API_FIELD_TYPE_DATETIME -> DATETIME;
- case API_FIELD_TYPE_TIMESTAMP -> TIMESTAMP;
- case API_FIELD_TYPE_TEXT -> TEXT;
- default -> throw new
PlatformDataIntegrityException("error.msg.datatable.column.type.invalid",
- "Column type " + apiType + " is not supported.");
- };
+ return mapApiTypeToJdbcType(apiType, true);
}
private void validateEntitySubType(final DataValidatorBuilder
baseDataValidator, final JsonElement element,
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java
index 0c6dd7df7..bd2e5d2d4 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java
@@ -1405,8 +1405,8 @@ public class BatchApiTest {
columnMap.put("apptableName", LOAN_APP_TABLE_NAME);
columnMap.put("entitySubType", "PERSON");
columnMap.put("multiRow", true);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1,
"String", true, 10, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2,
"String", false, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1,
"String", true, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2,
"String", false, 10, null);
columnMap.put("columns", datatableColumnsList);
final String datatableRequestJsonString = new Gson().toJson(columnMap);
LOG.info("CreateDataTable map : {}", datatableRequestJsonString);
@@ -2063,8 +2063,8 @@ public class BatchApiTest {
columnMap.put("apptableName", LOAN_APP_TABLE_NAME);
columnMap.put("entitySubType", "PERSON");
columnMap.put("multiRow", false);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1,
"String", true, 10, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2,
"String", false, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1,
"String", true, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2,
"String", false, 10, null);
columnMap.put("columns", datatableColumnsList);
final String datatableRequestJsonString = new Gson().toJson(columnMap);
LOG.info("CreateDataTable map : {}", datatableRequestJsonString);
@@ -2128,8 +2128,8 @@ public class BatchApiTest {
columnMap.put("apptableName", LOAN_APP_TABLE_NAME);
columnMap.put("entitySubType", "PERSON");
columnMap.put("multiRow", false);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1,
"String", true, 15, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2,
"String", false, 15, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1,
"String", true, 15, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2,
"String", false, 15, null);
columnMap.put("columns", datatableColumnsList);
final String datatableRequestJsonString = new Gson().toJson(columnMap);
LOG.info("CreateDataTable map : {}", datatableRequestJsonString);
@@ -2182,8 +2182,8 @@ public class BatchApiTest {
columnMap.put("apptableName", LOAN_APP_TABLE_NAME);
columnMap.put("entitySubType", "PERSON");
columnMap.put("multiRow", true);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName1,
"String", true, 10, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, columnName2,
"String", false, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName1,
"String", true, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, columnName2,
"String", false, 10, null);
columnMap.put("columns", datatableColumnsList);
final String datatableRequestJsonString = new Gson().toJson(columnMap);
LOG.info("CreateDataTable map : {}", datatableRequestJsonString);
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
index 17c458691..03c7661ed 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
@@ -567,7 +567,7 @@ public class EntityDatatableChecksIntegrationTest {
.toLowerCase();
String itsAString = "itsastring";
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsAString,
"String", true, 10, null);
+ DatatableHelper.addDatatableColumn(datatableColumnsList, itsAString,
"String", true, 10, null);
// Person Subtype
columnMap.put("datatableName", datatableNamePerson);
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
index 5bdd75972..f40e11a96 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
@@ -188,14 +188,14 @@ public class DatatableHelper extends IntegrationTest {
map.put("entitySubType", "");
}
map.put("multiRow", multiRow);
- addDatatableColumns(datatableColumnsList, "itsABoolean", "Boolean",
false, null, null);
- addDatatableColumns(datatableColumnsList, "itsADate", "Date", true,
null, null);
- addDatatableColumns(datatableColumnsList, "itsADatetime", "Datetime",
true, null, null);
- addDatatableColumns(datatableColumnsList, "itsADecimal", "Decimal",
true, null, null);
- addDatatableColumns(datatableColumnsList, "itsADropdown", "Dropdown",
false, null, codeName);
- addDatatableColumns(datatableColumnsList, "itsANumber", "Number",
true, null, null);
- addDatatableColumns(datatableColumnsList, "itsAString", "String",
true, 10, null);
- addDatatableColumns(datatableColumnsList, "itsAText", "Text", true,
null, null);
+ addDatatableColumn(datatableColumnsList, "itsABoolean", "Boolean",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADate", "Date", true,
null, null);
+ addDatatableColumn(datatableColumnsList, "itsADatetime", "Datetime",
true, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADecimal", "Decimal",
true, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADropdown", "Dropdown",
false, null, codeName);
+ addDatatableColumn(datatableColumnsList, "itsANumber", "Number", true,
null, null);
+ addDatatableColumn(datatableColumnsList, "itsAString", "String", true,
10, null);
+ addDatatableColumn(datatableColumnsList, "itsAText", "Text", true,
null, null);
map.put("columns", datatableColumnsList);
String requestJsonString = new Gson().toJson(map);
LOG.info("map : {}", requestJsonString);
@@ -209,10 +209,10 @@ public class DatatableHelper extends IntegrationTest {
map.put("apptableName", apptableName);
map.put("entitySubType", "PERSON");
map.put("multiRow", multiRow);
- addDatatableColumns(datatableColumnsList, "Spouse Name", "String",
true, 25, null);
- addDatatableColumns(datatableColumnsList, "Number of Dependents",
"Number", true, null, null);
- addDatatableColumns(datatableColumnsList, "Time of Visit", "DateTime",
false, null, null);
- addDatatableColumns(datatableColumnsList, "Date of Approval", "Date",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "Spouse Name", "String",
true, 25, null);
+ addDatatableColumn(datatableColumnsList, "Number of Dependents",
"Number", true, null, null);
+ addDatatableColumn(datatableColumnsList, "Time of Visit", "DateTime",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "Date of Approval", "Date",
false, null, null);
map.put("columns", datatableColumnsList);
String requestJsonString = new Gson().toJson(map);
LOG.info("map : {}", requestJsonString);
@@ -232,7 +232,7 @@ public class DatatableHelper extends IntegrationTest {
return requestJsonString;
}
- public static List<HashMap<String, Object>>
addDatatableColumns(List<HashMap<String, Object>> datatableColumnsList, String
columnName,
+ public static HashMap<String, Object>
addDatatableColumn(List<HashMap<String, Object>> datatableColumnsList, String
columnName,
String columnType, boolean isMandatory, Integer length, String
codeName) {
final HashMap<String, Object> datatableColumnMap = new HashMap<>();
@@ -249,10 +249,10 @@ public class DatatableHelper extends IntegrationTest {
}
datatableColumnsList.add(datatableColumnMap);
- return datatableColumnsList;
+ return datatableColumnMap;
}
- public static List<HashMap<String, Object>>
addDatatableColumnsWithUniqueAndIndex(List<HashMap<String, Object>>
datatableColumnsList,
+ public static List<HashMap<String, Object>>
addDatatableColumnWithUniqueAndIndex(List<HashMap<String, Object>>
datatableColumnsList,
String columnName, String columnType, boolean isMandatory, Integer
length, String codeName, boolean isUnique,
boolean isIndexed) {
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java
index 5df73fb1d..e47b1de62 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableAdvancedQueryTest.java
@@ -315,13 +315,13 @@ public class DatatableAdvancedQueryTest {
request.put(API_PARAM_MULTIROW, multiRow);
final List<HashMap<String, Object>> datatableColumns = new
ArrayList<>();
-
DatatableHelper.addDatatableColumnsWithUniqueAndIndex(datatableColumns,
COLUMN_STRING, API_FIELD_TYPE_STRING, true, 50, null,
+ DatatableHelper.addDatatableColumnWithUniqueAndIndex(datatableColumns,
COLUMN_STRING, API_FIELD_TYPE_STRING, true, 50, null,
!multiRow, true);
- DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_TEXT,
API_FIELD_TYPE_TEXT, false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_DATE,
API_FIELD_TYPE_DATE, true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_BOOLEAN,
API_FIELD_TYPE_BOOLEAN, false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_INTEGER,
API_FIELD_TYPE_NUMBER, false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumns, COLUMN_DECIMAL,
API_FIELD_TYPE_DECIMAL, false, null, null);
+ DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_TEXT,
API_FIELD_TYPE_TEXT, false, null, null);
+ DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_DATE,
API_FIELD_TYPE_DATE, true, null, null);
+ DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_BOOLEAN,
API_FIELD_TYPE_BOOLEAN, false, null, null);
+ DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_INTEGER,
API_FIELD_TYPE_NUMBER, false, null, null);
+ DatatableHelper.addDatatableColumn(datatableColumns, COLUMN_DECIMAL,
API_FIELD_TYPE_DECIMAL, false, null, null);
request.put(API_PARAM_COLUMNS, datatableColumns);
String requestJson = new Gson().toJson(request);
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java
index 3a0f6c5be..a66697575 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/datatable/DatatableIntegrationTest.java
@@ -18,10 +18,12 @@
*/
package org.apache.fineract.integrationtests.datatable;
+import static
org.apache.fineract.integrationtests.common.system.DatatableHelper.addDatatableColumn;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@@ -127,7 +129,6 @@ public class DatatableIntegrationTest extends
IntegrationTest {
final HashMap<String, Object> columnMap = new HashMap<>();
final List<HashMap<String, Object>> datatableColumnsList = new
ArrayList<>();
columnMap.put("datatableName",
Utils.uniqueRandomStringGenerator(CLIENT_APP_TABLE_NAME + "_",
5).toLowerCase().toLowerCase());
- columnMap.put("apptableName", CLIENT_APP_TABLE_NAME);
columnMap.put("entitySubType", "PERSON");
columnMap.put("multiRow", false);
String itsABoolean = "itsaboolean";
@@ -141,27 +142,55 @@ public class DatatableIntegrationTest extends
IntegrationTest {
String tst_tst_tst_cd_itsADropdown = tst_tst_tst + "_cd_itsadropdown";
String dateFormat = "dateFormat";
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsABoolean,
"Boolean", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsADate,
"Date", true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
itsADatetime, "Datetime", true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsADecimal,
"Decimal", true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
itsADropdown, "Dropdown", false, null, tst_tst_tst);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsANumber,
"Number", true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsAString,
"String", true, 10, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsAText,
"Text", true, null, null);
+ addDatatableColumn(datatableColumnsList, itsABoolean, "Boolean",
false, null, null);
+ addDatatableColumn(datatableColumnsList, itsADate, "Date", true, null,
null);
+ addDatatableColumn(datatableColumnsList, itsADatetime, "Datetime",
true, null, null);
+ addDatatableColumn(datatableColumnsList, itsADecimal, "Decimal", true,
null, null);
+ addDatatableColumn(datatableColumnsList, itsADropdown, "Dropdown",
false, null, tst_tst_tst);
+ addDatatableColumn(datatableColumnsList, itsANumber, "Number", true,
null, null);
+ addDatatableColumn(datatableColumnsList, itsAString, "String", true,
10, null);
columnMap.put("columns", datatableColumnsList);
+
+ // try to create datatable without apptable
+ columnMap.put("apptableName", null);
+ String errorRequestJsonString = new Gson().toJson(columnMap);
+ ResponseSpecification responseSpecError400 = new
ResponseSpecBuilder().expectStatusCode(400).build();
+ this.datatableHelper = new DatatableHelper(this.requestSpec,
responseSpecError400);
+ HashMap<String, Object> errorResponse =
this.datatableHelper.createDatatable(errorRequestJsonString, "");
+ assertEquals("validation.msg.validation.errors.exist", ((Map)
errorResponse).get("userMessageGlobalisationCode"));
+ List errors = (List) ((Map) errorResponse).get("errors");
+ assertEquals(2, errors.size());
+ assertEquals("validation.msg.datatable.apptableName.cannot.be.blank",
((Map) errors.get(0)).get("userMessageGlobalisationCode"));
+
assertEquals("validation.msg.datatable.apptableName.is.not.one.of.expected.enumerations",
+ ((Map) errors.get(1)).get("userMessageGlobalisationCode"));
+ // set valid apptable name
+ columnMap.put("apptableName", CLIENT_APP_TABLE_NAME);
+
+ // try to create datatable with invalid column type
+ HashMap<String, Object> textColumn =
addDatatableColumn(datatableColumnsList, itsAText, "Invalid", true, null, null);
+ errorRequestJsonString = new Gson().toJson(columnMap);
+ errorResponse =
this.datatableHelper.createDatatable(errorRequestJsonString, "");
+ assertEquals("validation.msg.validation.errors.exist", ((Map)
errorResponse).get("userMessageGlobalisationCode"));
+ errors = (List) ((Map) errorResponse).get("errors");
+ assertEquals(1, errors.size());
+ Map error = (Map) errors.get(0);
+
assertEquals("validation.msg.datatable.type.is.not.one.of.expected.enumerations",
error.get("userMessageGlobalisationCode"));
+ assertTrue(((String)
error.get("defaultUserMessage")).contains("string, number, boolean, decimal,
date, datetime, text, dropdown"));
+ // set valid type
+ textColumn.put("type", "Text");
+
String datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map : {}", datatabelRequestJsonString);
+ this.datatableHelper = new DatatableHelper(this.requestSpec,
this.responseSpec);
HashMap<String, Object> datatableResponse =
this.datatableHelper.createDatatable(datatabelRequestJsonString, "");
String datatableName = (String)
datatableResponse.get("resourceIdentifier");
DatatableHelper.verifyDatatableCreatedOnServer(this.requestSpec,
this.responseSpec, datatableName);
// try to create with the same name
- ResponseSpecification responseSpecError400 = new
ResponseSpecBuilder().expectStatusCode(400).build();
this.datatableHelper = new DatatableHelper(this.requestSpec,
responseSpecError400);
- HashMap<String, Object> response =
this.datatableHelper.createDatatable(datatabelRequestJsonString, "");
- assertEquals("validation.msg.validation.errors.exist", ((Map)
response).get("userMessageGlobalisationCode"));
+ errorResponse =
this.datatableHelper.createDatatable(datatabelRequestJsonString, "");
+ assertEquals("validation.msg.validation.errors.exist", ((Map)
errorResponse).get("userMessageGlobalisationCode"));
this.datatableHelper = new DatatableHelper(this.requestSpec,
this.responseSpec);
// creating client with datatables
@@ -326,9 +355,9 @@ public class DatatableIntegrationTest extends
IntegrationTest {
String itsAString = "itsAString";
String dateFormat = "dateFormat";
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsADate,
"Date", true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsADecimal,
"Decimal", true, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, itsAString,
"String", true, 10, null);
+ addDatatableColumn(datatableColumnsList, itsADate, "Date", true, null,
null);
+ addDatatableColumn(datatableColumnsList, itsADecimal, "Decimal", true,
null, null);
+ addDatatableColumn(datatableColumnsList, itsAString, "String", true,
10, null);
columnMap.put("columns", datatableColumnsList);
String datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map : {}", datatabelRequestJsonString);
@@ -425,14 +454,14 @@ public class DatatableIntegrationTest extends
IntegrationTest {
columnMap.put("apptableName", LOAN_APP_TABLE_NAME);
columnMap.put("entitySubType", "");
columnMap.put("multiRow", true);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsABoolean", "Boolean", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADate",
"Date", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsADatetime", "Datetime", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsADecimal", "Decimal", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsADropdown", "Dropdown", false, null, "TST_TST_TST");
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsANumber", "Number", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsAString", "String", false, 10, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAText",
"Text", false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsABoolean", "Boolean",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADate", "Date", false,
null, null);
+ addDatatableColumn(datatableColumnsList, "itsADatetime", "Datetime",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADecimal", "Decimal",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADropdown", "Dropdown",
false, null, "TST_TST_TST");
+ addDatatableColumn(datatableColumnsList, "itsANumber", "Number",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsAString", "String",
false, 10, null);
+ addDatatableColumn(datatableColumnsList, "itsAText", "Text", false,
null, null);
columnMap.put("columns", datatableColumnsList);
String datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map : {}", datatabelRequestJsonString);
@@ -556,8 +585,8 @@ public class DatatableIntegrationTest extends
IntegrationTest {
columnMap.put("apptableName", CLIENT_APP_TABLE_NAME);
columnMap.put("entitySubType", CLIENT_PERSON_SUBTYPE_NAME);
columnMap.put("multiRow", false);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsANumber", "Number", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsAString", "String", false, 10, null);
+ addDatatableColumn(datatableColumnsList, "itsANumber", "Number",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsAString", "String",
false, 10, null);
columnMap.put("columns", datatableColumnsList);
String datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map : {}", datatabelRequestJsonString);
@@ -597,7 +626,7 @@ public class DatatableIntegrationTest extends
IntegrationTest {
columnMap.put("apptableName", CLIENT_APP_TABLE_NAME);
columnMap.put("entitySubType", CLIENT_PERSON_SUBTYPE_NAME);
datatableColumnsList = new ArrayList<>();
- DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAText",
"Text", false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsAText", "Text", false,
null, null);
columnMap.put("addColumns", datatableColumnsList);
datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map to update : {}", datatabelRequestJsonString);
@@ -643,7 +672,7 @@ public class DatatableIntegrationTest extends
IntegrationTest {
List<Map<String, Object>> dropColumnsList =
Collections.singletonList(Collections.singletonMap("name", "itsANumber"));
columnMap.put("dropColumns", dropColumnsList);
ArrayList<HashMap<String, Object>> changeColumnsList = new
ArrayList<>();
- DatatableHelper.addDatatableColumns(changeColumnsList, "itsAString",
null, false, 100, null);
+ addDatatableColumn(changeColumnsList, "itsAString", null, false, 100,
null);
columnMap.put("changeColumns", changeColumnsList);
datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map to update : {}", datatabelRequestJsonString);
@@ -689,14 +718,14 @@ public class DatatableIntegrationTest extends
IntegrationTest {
columnMap.put("apptableName", LOAN_APP_TABLE_NAME);
columnMap.put("entitySubType", "");
columnMap.put("multiRow", true);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsABoolean", "Boolean", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, "itsADate",
"Date", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsADatetime", "Datetime", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsADecimal", "Decimal", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsADropdown", "Dropdown", false, null, tst_tst_tst);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsANumber", "Number", false, null, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList,
"itsAString", "String", false, 10, null);
- DatatableHelper.addDatatableColumns(datatableColumnsList, "itsAText",
"Text", false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsABoolean", "Boolean",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADate", "Date", false,
null, null);
+ addDatatableColumn(datatableColumnsList, "itsADatetime", "Datetime",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADecimal", "Decimal",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsADropdown", "Dropdown",
false, null, tst_tst_tst);
+ addDatatableColumn(datatableColumnsList, "itsANumber", "Number",
false, null, null);
+ addDatatableColumn(datatableColumnsList, "itsAString", "String",
false, 10, null);
+ addDatatableColumn(datatableColumnsList, "itsAText", "Text", false,
null, null);
columnMap.put("columns", datatableColumnsList);
String datatabelRequestJsonString = new Gson().toJson(columnMap);
LOG.info("map : {}", datatabelRequestJsonString);