FINERACT-1005: Fixing staff validations and tests

This commit is contained in:
Petri Tuomola
2020-06-01 10:59:22 +02:00
committed by Michael Vorburger ⛑️
parent 3545cbef4c
commit 1a397c5663
3 changed files with 42 additions and 20 deletions
@@ -87,13 +87,13 @@ public final class StaffCommandFromApiJsonDeserializer {
}
if (this.fromApiJsonHelper.parameterExists("isLoanOfficer", element)) {
final Boolean loanOfficerFlag = this.fromApiJsonHelper.extractBooleanNamed("isLoanOfficer", element);
baseDataValidator.reset().parameter("isLoanOfficer").value(loanOfficerFlag).notNull();
final String loanOfficerFlag = this.fromApiJsonHelper.extractStringNamed("isLoanOfficer", element);
baseDataValidator.reset().parameter("isLoanOfficer").trueOrFalseRequired(loanOfficerFlag);
}
if (this.fromApiJsonHelper.parameterExists("isActive", element)) {
final Boolean activeFlag = this.fromApiJsonHelper.extractBooleanNamed("isActive", element);
baseDataValidator.reset().parameter("isActive").value(activeFlag).notNull();
final String activeFlag = this.fromApiJsonHelper.extractStringNamed("isActive", element);
baseDataValidator.reset().parameter("isActive").trueOrFalseRequired(activeFlag);
}
final LocalDate joiningDate = this.fromApiJsonHelper.extractLocalDateNamed("joiningDate", element);
@@ -109,6 +109,11 @@ public final class StaffCommandFromApiJsonDeserializer {
baseDataValidator.reset().parameter("locale").value(locale).notBlank();
}
if (this.fromApiJsonHelper.parameterExists("externalId", element)) {
final String externalId = this.fromApiJsonHelper.extractStringNamed("externalId", element);
baseDataValidator.reset().parameter("externalId").value(externalId).notBlank().notExceedingLengthOf(100);
}
throwExceptionIfValidationWarningsExist(dataValidationErrors);
}
@@ -147,12 +152,16 @@ public final class StaffCommandFromApiJsonDeserializer {
}
if (this.fromApiJsonHelper.parameterExists("isLoanOfficer", element)) {
final Boolean loanOfficerFlag = this.fromApiJsonHelper.extractBooleanNamed("isLoanOfficer", element);
baseDataValidator.reset().parameter("isLoanOfficer").value(loanOfficerFlag).notNull();
final String loanOfficerFlag = this.fromApiJsonHelper.extractStringNamed("isLoanOfficer", element);
baseDataValidator.reset().parameter("isLoanOfficer").trueOrFalseRequired(loanOfficerFlag);
}
if (this.fromApiJsonHelper.parameterExists("isActive", element)) {
final String activeFlagStr = this.fromApiJsonHelper.extractStringNamed("isActive", element);
baseDataValidator.reset().parameter("isActive").trueOrFalseRequired(activeFlagStr);
final Boolean activeFlag = this.fromApiJsonHelper.extractBooleanNamed("isActive", element);
//Need to add here check to see if any clients, group, account and loans are assigned to this staff if staff is being set to inactive --LJB
final Boolean forceStatus = this.fromApiJsonHelper.extractBooleanNamed("forceStatus", element);
if ((!activeFlag && forceStatus == null) ||
@@ -182,6 +191,11 @@ public final class StaffCommandFromApiJsonDeserializer {
baseDataValidator.reset().parameter("locale").value(locale).notBlank();
}
if (this.fromApiJsonHelper.parameterExists("externalId", element)) {
final String externalId = this.fromApiJsonHelper.extractStringNamed("externalId", element);
baseDataValidator.reset().parameter("externalId").value(externalId).notBlank().notExceedingLengthOf(100);
}
throwExceptionIfValidationWarningsExist(dataValidationErrors);
}
@@ -189,4 +203,4 @@ public final class StaffCommandFromApiJsonDeserializer {
if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist",
"Validation errors exist.", dataValidationErrors); }
}
}
}