Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ public CalendarData getCollectionMeetingCalendar() {
return collectionMeetingCalendar;
}

public String getExternalId() {
return this.externalId;
}

public String getStaffName() {
return this.staffName;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ private GetCentersStatus() {}
public Boolean active;
@Schema(example = "Center 1")
public String name;
@Schema(example = "EXT-001")
public String externalId;
@Schema(example = "1")
public Long officeId;
@Schema(example = "Head Office")
Expand All @@ -119,6 +121,8 @@ private GetCentersCenterIdResponse() {}
public Boolean active;
@Schema(example = "First Center (No groups)")
public String name;
@Schema(example = "EXT-001")
public String externalId;
@Schema(example = "1")
public Long officeId;
@Schema(example = "Head Office")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ private GetGroupsStatus() {}
public Long id;
@Schema(example = "AnotherGroup")
public String name;
@Schema(example = "000-1A")
public String externalId;
public GetGroupsStatus status;
@Schema(example = "false")
public Boolean active;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,8 @@ public GroupGeneralData mapRow(final ResultSet rs, @SuppressWarnings("unused") f
final Long id = rs.getLong("id");
final String accountNo = rs.getString("accountNumber");
final String name = rs.getString("name");
final String externalId = rs.getString("externalId");
final String rawExternalId = rs.getString("externalId");
final String externalId = rawExternalId != null && !rawExternalId.isBlank() ? rawExternalId : "null";

final Integer statusEnum = JdbcSupport.getInteger(rs, "statusEnum");
final EnumOptionData status = ClientEnumerations.status(statusEnum);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,8 @@ public CenterData mapRow(final ResultSet rs, @SuppressWarnings("unused") final i
final Integer statusEnum = JdbcSupport.getInteger(rs, "statusEnum");
final EnumOptionData status = GroupingTypeEnumerations.status(statusEnum);
final LocalDate activationDate = JdbcSupport.getLocalDate(rs, "activationDate");
final String externalId = rs.getString("externalId");
final String rawExternalId = rs.getString("externalId");
final String externalId = rawExternalId != null && !rawExternalId.isBlank() ? rawExternalId : "null";
final Long officeId = rs.getLong("officeId");
final String officeName = rs.getString("officeName");
final Long staffId = JdbcSupport.getLong(rs, "staffId");
Expand Down Expand Up @@ -267,7 +268,8 @@ public GroupGeneralData mapRow(final ResultSet rs, @SuppressWarnings("unused") f
final Long id = rs.getLong("id");
final String accountNo = rs.getString("accountNo");
final String name = rs.getString("name");
final String externalId = rs.getString("externalId");
final String rawExternalId = rs.getString("externalId");
final String externalId = rawExternalId != null && !rawExternalId.isBlank() ? rawExternalId : "null";

final Integer statusEnum = JdbcSupport.getInteger(rs, "statusEnum");
final EnumOptionData status = ClientEnumerations.status(statusEnum);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -123,7 +124,10 @@ private CommandProcessingResult createGroupingType(final JsonCommand command, fi
try {
final String accountNo = command.stringValueOfParameterNamed(GroupingTypesApiConstants.accountNoParamName);
final String name = command.stringValueOfParameterNamed(GroupingTypesApiConstants.nameParamName);
final String externalId = command.stringValueOfParameterNamed(GroupingTypesApiConstants.externalIdParamName);
String externalId = command.stringValueOfParameterNamed(GroupingTypesApiConstants.externalIdParamName);
if (StringUtils.isBlank(externalId)) {
externalId = UUID.randomUUID().toString();
}

final AppUser currentUser = this.context.authenticatedUser();
Long officeId = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,19 @@ public void testFullCenterCreation() {
Assertions.assertArrayEquals(center.getGroupMembers(), groupMembers);
}

@Test
public void testCenterCreationWithoutExternalIdGeneratesOne() {
int officeId = new OfficeHelper().createOffice(LocalDate.of(2007, 7, 1)).getResourceId().intValue();
String name = "TestNoExternalId" + new Timestamp(new java.util.Date().getTime());
int resourceId = CenterHelper.createCenter(name, officeId, requestSpec, responseSpec);
CenterDomain center = CenterHelper.retrieveByID(resourceId, requestSpec, responseSpec);

Assertions.assertNotNull(center);
Assertions.assertNotNull(center.getExternalId());
Assertions.assertFalse(center.getExternalId().isBlank());
Assertions.assertNotEquals("null", center.getExternalId());
}

@Test
public void testListCenters() {
ArrayList<CenterDomain> paginatedList = CenterHelper.paginatedListCenters(requestSpec, responseSpec);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.apache.fineract.integrationtests.common.ClientHelper;
import org.apache.fineract.integrationtests.common.CollateralManagementHelper;
import org.apache.fineract.integrationtests.common.GroupHelper;
Expand Down Expand Up @@ -100,6 +101,25 @@ public void checkGroupFunctions() {
// groupID);
}

@Test
public void testGroupCreationWithoutExternalIdGeneratesOne() {
final Integer groupID = GroupHelper.createGroup(this.requestSpec, this.responseSpec, "04 March 2011", null);
GroupHelper.verifyGroupCreatedOnServer(this.requestSpec, this.responseSpec, groupID);

final String externalId = GroupHelper.getGroupExternalId(this.requestSpec, this.responseSpec, groupID);
Assertions.assertNotNull(externalId);
Assertions.assertFalse(externalId.isBlank());
assertNotEquals("null", externalId);
}

@Test
public void testGroupCreationWithExternalIdIsPersisted() {
final String externalId = UUID.randomUUID().toString();
final Integer groupID = GroupHelper.createGroup(this.requestSpec, this.responseSpec, "04 March 2011", externalId);
GroupHelper.verifyGroupCreatedOnServer(this.requestSpec, this.responseSpec, groupID);
GroupHelper.verifyGroupDetails(this.requestSpec, this.responseSpec, groupID, "externalId", externalId);
}

@Test
public void assignStaffToGroup() {
Integer groupID = GroupHelper.createGroup(this.requestSpec, this.responseSpec);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,17 @@ public static Integer createGroup(final RequestSpecification requestSpec, final
return Utils.performServerPost(requestSpec, responseSpec, CREATE_GROUP_URL, getTestGroupAsJSON(true, activationDate), "groupId");
}

// TODO: Rewrite to use fineract-client instead!
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public static Integer createGroup(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
final String activationDate, final String externalId) {
LOG.info("---------------------------------CREATING A GROUP---------------------------------------------");
return Utils.performServerPost(requestSpec, responseSpec, CREATE_GROUP_URL, getTestGroupAsJSON(true, activationDate, externalId),
"groupId");
}

// TODO: Rewrite to use fineract-client instead!
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
Expand Down Expand Up @@ -189,10 +200,20 @@ public static Object assignStaffInheritStaffForClientAccounts(final RequestSpeci
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public static String getTestGroupAsJSON(final boolean active, final String activationDate) {
return getTestGroupAsJSON(active, activationDate, UUID.randomUUID().toString());
}

// TODO: Rewrite to use fineract-client instead!
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public static String getTestGroupAsJSON(final boolean active, final String activationDate, final String externalId) {
final HashMap<String, String> map = new HashMap<>();
map.put("officeId", "1");
map.put("name", randomNameGenerator("Group_Name_", 5));
map.put("externalId", UUID.randomUUID().toString());
if (externalId != null) {
map.put("externalId", externalId);
}
map.put("dateFormat", "dd MMMM yyyy");
map.put("locale", "en");
if (active) {
Expand Down Expand Up @@ -296,6 +317,17 @@ public static void verifyGroupDetails(final RequestSpecification requestSpec, fi
assertEquals(expectedValue, responseValue, "ERROR IN CREATING THE GROUP");
}

// TODO: Rewrite to use fineract-client instead!
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
@Deprecated(forRemoval = true)
public static String getGroupExternalId(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
final Integer generatedGroupID) {
LOG.info("------------------------------CHECK GROUP EXTERNAL ID------------------------------------\n");
final String GROUP_URL = "/fineract-provider/api/v1/groups/" + generatedGroupID + "?" + Utils.TENANT_IDENTIFIER;
return Utils.performServerGet(requestSpec, responseSpec, GROUP_URL, "externalId");
}

// TODO: Rewrite to use fineract-client instead!
// Example: org.apache.fineract.integrationtests.common.loans.LoanTransactionHelper.disburseLoan(java.lang.Long,
// org.apache.fineract.client.models.PostLoansLoanIdRequest)
Expand Down
Loading