Skip to content
Snippets Groups Projects
Commit 9b8a462d authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4529 [xta] set vorgangNummer suffix length to 4

parent 0519feb9
Branches
Tags
No related merge requests found
......@@ -17,10 +17,17 @@ public class VorgangNummerSupplier {
static final int SUFFIX_LENGTH = 6;
public String get() {
return get(SUFFIX_LENGTH);
}
public String get(int suffixLength) {
if (suffixLength <1){
throw new IllegalArgumentException("Suffix length must be at least 1");
}
var today = LocalDate.now();
var lastYearNumber = today.getYear() % 10;
return VORGANGNUMMER_TEMPLATE.formatted(lastYearNumber, today.getMonthValue(), today.getDayOfMonth(),
RandomStringUtils.random(SUFFIX_LENGTH, BASE30_ALPHABET));
RandomStringUtils.random(suffixLength, BASE30_ALPHABET));
}
}
package de.ozgcloud.eingang.common.vorgang;
import static org.assertj.core.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.time.LocalDate;
import java.util.Random;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
import org.springframework.test.util.ReflectionTestUtils;
class VorgangNummerSupplierTest {
......@@ -26,7 +26,25 @@ class VorgangNummerSupplierTest {
void shouldAddSuffix() {
var result = vorgangNummerSupplier.get();
assertThat(result).hasSize(11);
assertThat(getSuffix(result)).hasSize(VorgangNummerSupplier.SUFFIX_LENGTH);
}
@Test
void shouldHaveSuffixSize() {
var result = vorgangNummerSupplier.get(3);
assertThat(getSuffix(result)).hasSize(3);
}
@DisplayName("should throw exception when")
@ParameterizedTest(name = "suffix length {0}")
@ValueSource(ints = { -1, 0 })
void shouldThrowException(int suffixLength) {
assertThrows(IllegalArgumentException.class, () -> vorgangNummerSupplier.get(suffixLength));
}
private String getSuffix(String string) {
return string.substring(string.indexOf('-') + 1);
}
@Test
......
......@@ -19,6 +19,7 @@ import lombok.extern.log4j.Log4j2;
class XtaService {
static final String DFOERDERMITTELANTRAG_MESSAGE_TYPE = "Geschaeftsgang.Geschaeftsgang.0201";
static final int VORGANG_NUMMER_SUFFIX_LENGTH = 4;
@Autowired
private XtaRemoteService remoteService;
......@@ -58,7 +59,7 @@ class XtaService {
}
FormHeader setVorgangNummer(FormHeader formHeader) {
return formHeader.toBuilder().vorgangNummer(vorgangNummerSupplier.get()).build();
return formHeader.toBuilder().vorgangNummer(vorgangNummerSupplier.get(VORGANG_NUMMER_SUFFIX_LENGTH)).build();
}
public void acknowledgeReceive(@NonNull XtaMessageId messageId) {
......
......@@ -188,13 +188,13 @@ class XtaServiceTest {
void shouldCallVorgangNummerSupplier() {
service.setVorgangNummer(FormHeaderTestFactory.create());
verify(vorgangNummerSupplier).get();
verify(vorgangNummerSupplier).get(XtaService.VORGANG_NUMMER_SUFFIX_LENGTH);
}
@Test
void shouldSetVorgangNummer() {
var vorgangNummer = "vorgang-1";
when(vorgangNummerSupplier.get()).thenReturn(vorgangNummer);
when(vorgangNummerSupplier.get(anyInt())).thenReturn(vorgangNummer);
var result = service.setVorgangNummer(FormHeaderTestFactory.create());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment