FINERACT-1724: Client search API fix when external ID is null

This commit is contained in:
Arnold Galovics
2023-07-24 15:55:43 +02:00
committed by Arnold Gálovics
parent 81a41e7b7e
commit 7c80bf2ffc
2 changed files with 28 additions and 0 deletions
@@ -42,6 +42,8 @@ public class ExternalIdJsonConverter implements JsonConverter<ExternalId> {
public void convertToJson(ExternalId value, JsonGenerator generator) throws IOException {
if (value != null && !value.isEmpty()) {
generator.writeString(value.getValue());
} else {
generator.writeNull();
}
}
@@ -73,6 +73,32 @@ public class ClientSearchTest {
assertThat(result.getTotalPages()).isEqualTo(3);
}
@Test
public void testClientSearchWorks_WhenNoExternalIdForClients() {
// given
String lastname = Utils.randomStringGenerator("Client_LastName_", 5);
PostClientsRequest request1 = ClientHelper.defaultClientCreationRequest();
request1.setExternalId(null);
request1.setLastname(lastname);
clientHelper.createClient(request1);
PostClientsRequest request2 = ClientHelper.defaultClientCreationRequest();
request2.setExternalId(null);
request2.setLastname(lastname);
clientHelper.createClient(request2);
PostClientsRequest request3 = ClientHelper.defaultClientCreationRequest();
request3.setExternalId(null);
request3.setLastname(lastname);
clientHelper.createClient(request3);
// when
PageClientSearchData result = clientHelper.searchClients(lastname, 0, 1);
// then
assertThat(result.getTotalElements()).isEqualTo(3);
assertThat(result.getNumberOfElements()).isEqualTo(1);
assertThat(result.getTotalPages()).isEqualTo(3);
}
@Test
public void testClientSearchWorks_WithLastnameTextOnDefaultOrdering() {
// given