Fix datatable put call with resource id

This commit is contained in:
Jose Alberto Hernandez
2022-11-24 15:41:22 +01:00
committed by Arnold Gálovics
parent a1a6435283
commit 729316e4a0
4 changed files with 41 additions and 33 deletions
@@ -41,6 +41,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.fineract.client.models.PutDataTablesAppTableIdDatatableIdResponse;
import org.apache.fineract.client.util.Calls;
import org.apache.fineract.integrationtests.client.IntegrationTest;
import org.apache.fineract.integrationtests.common.ClientHelper;
@@ -419,10 +420,10 @@ public class DatatableIntegrationTest extends IntegrationTest {
assertNull(((List) ((Map) ((List) items.get("data")).get(1)).get("row")).get(8));
assertNull(((List) ((Map) ((List) items.get("data")).get(1)).get("row")).get(9));
HashMap<String, Object> updatedDatatableEntryResponse = this.datatableHelper.updateDatatableEntry(datatableName, loanID, 1, false,
datatableEntryRequestJsonString);
assertEquals(null, updatedDatatableEntryResponse.get("changes"));
PutDataTablesAppTableIdDatatableIdResponse updatedDatatableEntryResponse = this.datatableHelper.updateDatatableEntry(datatableName,
loanID, 1, datatableEntryRequestJsonString);
assertNotNull(updatedDatatableEntryResponse);
assertEquals(0, updatedDatatableEntryResponse.getChanges().size());
}
@Test
@@ -591,20 +592,25 @@ public class DatatableIntegrationTest extends IntegrationTest {
datatabelEntryRequestJsonString = new GsonBuilder().serializeNulls().create().toJson(datatableEntryMap);
LOG.info("map : {}", datatabelEntryRequestJsonString);
HashMap<String, Object> updatedDatatableEntryResponse = this.datatableHelper.updateDatatableEntry(datatableName, loanID, 1, false,
PutDataTablesAppTableIdDatatableIdResponse updatedDatatableEntryResponse = this.datatableHelper.updateDatatableEntry(datatableName,
loanID, 1, datatabelEntryRequestJsonString);
assertNotNull(updatedDatatableEntryResponse);
assertEquals(1L, updatedDatatableEntryResponse.getResourceId());
updatedDatatableEntryResponse = this.datatableHelper.updateDatatableEntry(datatableName, loanID, 2,
datatabelEntryRequestJsonString);
this.datatableHelper.updateDatatableEntry(datatableName, loanID, 2, false, datatabelEntryRequestJsonString);
assertNotNull(updatedDatatableEntryResponse);
assertEquals(2L, updatedDatatableEntryResponse.getResourceId());
assertEquals(loanID, updatedDatatableEntryResponse.get("loanId"));
assertEquals(Long.valueOf(loanID), updatedDatatableEntryResponse.getLoanId());
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsABoolean"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsADate"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsADecimal"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsADatetime"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get(tst_tst_tst + "_cd_itsADropdown"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsANumber"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsAString"));
assertEquals(null, ((Map) updatedDatatableEntryResponse.get("changes")).get("itsAText"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsABoolean"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsADate"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsADecimal"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsADatetime"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get(tst_tst_tst + "_cd_itsADropdown"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsANumber"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsAString"));
assertEquals(null, updatedDatatableEntryResponse.getChanges().get("itsAText"));
items = this.datatableHelper.readDatatableEntry(datatableName, loanID, genericResultSet, null, "");
assertNotNull(items);
@@ -30,12 +30,16 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import org.apache.fineract.client.models.PutDataTablesAppTableIdDatatableIdResponse;
import org.apache.fineract.client.util.JSON;
import org.apache.fineract.integrationtests.common.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DatatableHelper {
private static final Gson GSON = new JSON().getGson();
private static final Logger LOG = LoggerFactory.getLogger(DatatableHelper.class);
private final RequestSpecification requestSpec;
private final ResponseSpecification responseSpec;
@@ -75,6 +79,13 @@ public class DatatableHelper {
+ entryId + "?genericResultSet=" + genericResultSet + "&" + Utils.TENANT_IDENTIFIER, json, "");
}
public PutDataTablesAppTableIdDatatableIdResponse updateDatatableEntry(final String datatableName, final Integer apptableId,
final Integer entryId, final String json) {
final String response = Utils.performServerPut(this.requestSpec, this.responseSpec, DATATABLE_URL + "/" + datatableName + "/"
+ apptableId + "/" + entryId + "?genericResultSet=false&" + Utils.TENANT_IDENTIFIER, json, null);
return GSON.fromJson(response, PutDataTablesAppTableIdDatatableIdResponse.class);
}
public Integer createDatatableEntry(final String apptableName, final String datatableName, final Integer apptableId,
final boolean genericResultSet, final String dateFormat, final String jsonAttributeToGetBack) {
return Utils.performServerPost(