diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java index 524501530c455adcc9bfdaeb9d850164dc1229a6..cebe8c74bb4d6fe3fa94035b24eb5caf0818c57d 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplier.java @@ -6,13 +6,13 @@ import java.time.LocalDate; import org.springframework.stereotype.Component; @Component -public class VorgangNummerSupplier { +class VorgangNummerSupplier { static final String BASE30_ALPHABET = "23456789ABCDEFGHJKMNPQRSTVWXYZ"; static final int SUFFIX_LENGTH = 6; public String get() { - var resultBuilder = addPrefix(new StringBuilder()); + var resultBuilder = initWithPrefix(); long currentTimeSeconds = Instant.now().toEpochMilli(); for (int i = 0; i < SUFFIX_LENGTH; i++) { resultBuilder.append(BASE30_ALPHABET.charAt((int) currentTimeSeconds % 30)); @@ -21,12 +21,12 @@ public class VorgangNummerSupplier { return resultBuilder.toString(); } - StringBuilder addPrefix(StringBuilder resultBuilder) { + StringBuilder initWithPrefix() { var today = LocalDate.now(); var lastYearNumber = today.getYear() % 10; var monthValue = "%02d".formatted(today.getMonthValue()); var dayValue = "%02d".formatted(today.getDayOfMonth()); - return resultBuilder.append(lastYearNumber).append(monthValue).append(dayValue).append("-"); + return new StringBuilder().append(lastYearNumber).append(monthValue).append(dayValue).append("-"); } } diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplierTest.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplierTest.java index 81e9b46af09296449e0b79a6b1a52f5b7c3a94ed..42a7be6008e89a9b316a933cf5dcaac7c78ab229 100644 --- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplierTest.java +++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/itvsh/kop/eingang/formcycle/VorgangNummerSupplierTest.java @@ -23,13 +23,13 @@ class VorgangNummerSupplierTest { void shouldCallAddPrefix() { vorgangNummerSupplier.get(); - verify(vorgangNummerSupplier).addPrefix(any()); + verify(vorgangNummerSupplier).initWithPrefix(); } @Test @DisplayName("should add random suffix of length 6") void shouldAddSuffix() { - doReturn(new StringBuilder()).when(vorgangNummerSupplier).addPrefix(any()); + doReturn(new StringBuilder()).when(vorgangNummerSupplier).initWithPrefix(); var result = vorgangNummerSupplier.get(); @@ -42,7 +42,7 @@ class VorgangNummerSupplierTest { @Test void shouldHaveSize(){ - var resultBuilder = vorgangNummerSupplier.addPrefix(new StringBuilder()); + var resultBuilder = vorgangNummerSupplier.initWithPrefix(); assertThat(resultBuilder).hasSize(6); } @@ -50,7 +50,7 @@ class VorgangNummerSupplierTest { void shouldAddLastYearNumberFirst(){ var lastYearNumber = "" + LocalDate.now().getYear() % 10; - var resultBuilder = vorgangNummerSupplier.addPrefix(new StringBuilder()); + var resultBuilder = vorgangNummerSupplier.initWithPrefix(); assertThat(resultBuilder.substring(0,1)).isEqualTo(lastYearNumber); } @@ -59,7 +59,7 @@ class VorgangNummerSupplierTest { void shouldAddMonthValueSecond(){ var monthValue = "%02d".formatted(LocalDate.now().getMonthValue()); - var resultBuilder = vorgangNummerSupplier.addPrefix(new StringBuilder()); + var resultBuilder = vorgangNummerSupplier.initWithPrefix(); assertThat(resultBuilder.substring(1, 3)).isEqualTo(monthValue); } @@ -68,14 +68,14 @@ class VorgangNummerSupplierTest { void shouldAddDayValueThird(){ var dayValue = "%02d".formatted(LocalDate.now().getDayOfMonth()); - var resultBuilder = vorgangNummerSupplier.addPrefix(new StringBuilder()); + var resultBuilder = vorgangNummerSupplier.initWithPrefix(); assertThat(resultBuilder.substring(3, 5)).isEqualTo(dayValue); } @Test void shouldAddHyphenAtEnd(){ - var resultBuilder = vorgangNummerSupplier.addPrefix(new StringBuilder()); + var resultBuilder = vorgangNummerSupplier.initWithPrefix(); assertThat(resultBuilder.charAt(5)).isEqualTo('-'); }