From 85f049f67144b02a0a22ffeedb45fa5f4cd0fb4e Mon Sep 17 00:00:00 2001 From: Carsten Otto Date: Wed, 11 May 2022 09:24:09 +0200 Subject: [PATCH] provide formatter as bean --- .../lndmanagej/ui/DashboardControllerIT.java | 11 +++++++ .../lndmanagej/ui/formatting/Formatter.java | 16 ++++++++++ .../ui/formatting/NumberFormatter.java | 13 --------- .../fragments/channel-collections.html | 4 +-- .../ui/formatting/FormatterTest.java | 29 +++++++++++++++++++ .../ui/formatting/NumberFormatterTest.java | 27 ----------------- 6 files changed, 58 insertions(+), 42 deletions(-) create mode 100644 ui/src/main/java/de/cotto/lndmanagej/ui/formatting/Formatter.java delete mode 100644 ui/src/main/java/de/cotto/lndmanagej/ui/formatting/NumberFormatter.java create mode 100644 ui/src/test/java/de/cotto/lndmanagej/ui/formatting/FormatterTest.java delete mode 100644 ui/src/test/java/de/cotto/lndmanagej/ui/formatting/NumberFormatterTest.java diff --git a/ui/src/integrationTest/java/de/cotto/lndmanagej/ui/DashboardControllerIT.java b/ui/src/integrationTest/java/de/cotto/lndmanagej/ui/DashboardControllerIT.java index 0965ad92..9b5a9a20 100644 --- a/ui/src/integrationTest/java/de/cotto/lndmanagej/ui/DashboardControllerIT.java +++ b/ui/src/integrationTest/java/de/cotto/lndmanagej/ui/DashboardControllerIT.java @@ -5,12 +5,15 @@ import de.cotto.lndmanagej.ui.controller.DashboardController; import de.cotto.lndmanagej.ui.dto.NodeDto; import de.cotto.lndmanagej.ui.dto.OpenChannelDto; import de.cotto.lndmanagej.ui.dto.StatusModel; +import de.cotto.lndmanagej.ui.formatting.Formatter; import de.cotto.lndmanagej.ui.page.PageService; import de.cotto.lndmanagej.ui.page.general.DashboardPage; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Bean; import org.springframework.test.web.servlet.MockMvc; import java.util.List; @@ -51,4 +54,12 @@ class DashboardControllerIT { ); mockMvc.perform(get("/")).andExpect(status().isOk()); } + + @TestConfiguration + static class AdditionalConfiguration { + @Bean + public Formatter formatter() { + return new Formatter(); + } + } } diff --git a/ui/src/main/java/de/cotto/lndmanagej/ui/formatting/Formatter.java b/ui/src/main/java/de/cotto/lndmanagej/ui/formatting/Formatter.java new file mode 100644 index 00000000..40454230 --- /dev/null +++ b/ui/src/main/java/de/cotto/lndmanagej/ui/formatting/Formatter.java @@ -0,0 +1,16 @@ +package de.cotto.lndmanagej.ui.formatting; + +import org.springframework.stereotype.Component; + +import java.text.NumberFormat; + +@Component +public class Formatter { + public Formatter() { + // default constructor + } + + public String formatNumber(long value) { + return NumberFormat.getInstance().format(value); + } +} diff --git a/ui/src/main/java/de/cotto/lndmanagej/ui/formatting/NumberFormatter.java b/ui/src/main/java/de/cotto/lndmanagej/ui/formatting/NumberFormatter.java deleted file mode 100644 index 594abf86..00000000 --- a/ui/src/main/java/de/cotto/lndmanagej/ui/formatting/NumberFormatter.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.cotto.lndmanagej.ui.formatting; - -import java.text.NumberFormat; - -public final class NumberFormatter { - private NumberFormatter() { - // utility class - } - - public static String format(long value) { - return NumberFormat.getInstance().format(value); - } -} diff --git a/ui/src/main/resources/templates/fragments/channel-collections.html b/ui/src/main/resources/templates/fragments/channel-collections.html index 7badd993..dd9f04e8 100644 --- a/ui/src/main/resources/templates/fragments/channel-collections.html +++ b/ui/src/main/resources/templates/fragments/channel-collections.html @@ -19,9 +19,9 @@ - + - + diff --git a/ui/src/test/java/de/cotto/lndmanagej/ui/formatting/FormatterTest.java b/ui/src/test/java/de/cotto/lndmanagej/ui/formatting/FormatterTest.java new file mode 100644 index 00000000..e155a97b --- /dev/null +++ b/ui/src/test/java/de/cotto/lndmanagej/ui/formatting/FormatterTest.java @@ -0,0 +1,29 @@ +package de.cotto.lndmanagej.ui.formatting; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class FormatterTest { + private final Formatter formatter = new Formatter(); + + @Test + void formatNumber_small_number() { + assertThat(formatter.formatNumber(123)).isEqualTo("123"); + } + + @Test + void formatNumber_large_number() { + assertThat(formatter.formatNumber(123_456_781_111L)).isEqualTo("123,456,781,111"); + } + + @Test + void formatNumber_negative_number() { + assertThat(formatter.formatNumber(-123_456_781_111L)).isEqualTo("-123,456,781,111"); + } + + @Test + void formatNumber_zero() { + assertThat(formatter.formatNumber(0)).isEqualTo("0"); + } +} diff --git a/ui/src/test/java/de/cotto/lndmanagej/ui/formatting/NumberFormatterTest.java b/ui/src/test/java/de/cotto/lndmanagej/ui/formatting/NumberFormatterTest.java deleted file mode 100644 index f22de683..00000000 --- a/ui/src/test/java/de/cotto/lndmanagej/ui/formatting/NumberFormatterTest.java +++ /dev/null @@ -1,27 +0,0 @@ -package de.cotto.lndmanagej.ui.formatting; - -import org.junit.jupiter.api.Test; - -import static org.assertj.core.api.Assertions.assertThat; - -class NumberFormatterTest { - @Test - void format_small_number() { - assertThat(NumberFormatter.format(123)).isEqualTo("123"); - } - - @Test - void format_large_number() { - assertThat(NumberFormatter.format(123_456_781_111L)).isEqualTo("123,456,781,111"); - } - - @Test - void format_negative_number() { - assertThat(NumberFormatter.format(-123_456_781_111L)).isEqualTo("-123,456,781,111"); - } - - @Test - void format_zero() { - assertThat(NumberFormatter.format(0)).isEqualTo("0"); - } -}