From e40a49de2ff7e258b754c3a32aaab254cdc94115 Mon Sep 17 00:00:00 2001 From: danielbroll Date: Sat, 2 Jul 2022 17:11:41 +0200 Subject: [PATCH] Channel details: add rating --- .../cotto/lndmanagej/ui/demo/data/DemoDataService.java | 9 +++++---- .../java/de/cotto/lndmanagej/ui/UiDataServiceImpl.java | 3 ++- .../de/cotto/lndmanagej/ui/dto/ChannelDetailsDto.java | 4 +++- .../resources/templates/tiles/third/channel-details.html | 1 + .../de/cotto/lndmanagej/ui/UiDataServiceImplTest.java | 5 +++-- .../cotto/lndmanagej/ui/dto/ChannelDetailsDtoTest.java | 7 +++++++ .../lndmanagej/ui/dto/ChannelDetailsDtoFixture.java | 6 ++++-- 7 files changed, 25 insertions(+), 10 deletions(-) diff --git a/ui-demo/src/main/java/de/cotto/lndmanagej/ui/demo/data/DemoDataService.java b/ui-demo/src/main/java/de/cotto/lndmanagej/ui/demo/data/DemoDataService.java index cc648068..bec29739 100644 --- a/ui-demo/src/main/java/de/cotto/lndmanagej/ui/demo/data/DemoDataService.java +++ b/ui-demo/src/main/java/de/cotto/lndmanagej/ui/demo/data/DemoDataService.java @@ -119,6 +119,7 @@ public class DemoDataService extends UiDataService { "No flow in the past 35 days."); public static final ChannelId CLOSED_CHANNEL = ChannelId.fromCompactForm("712345x124x1"); + public static final RatingDto RATING = RatingDto.fromModel(new Rating(700L)); public DemoDataService() { super(); @@ -248,8 +249,8 @@ public class DemoDataService extends UiDataService { deriveFeeReport(channel.channelId()), deriveFlowReport(channel.channelId()), deriveRebalanceReport(channel.channelId()), - warnings - ); + warnings, + RatingDto.fromModel(new Rating(channel.rating()))); } private ChannelDetailsDto createClosedChannelDetails(Set warnings) { @@ -267,8 +268,8 @@ public class DemoDataService extends UiDataService { deriveFeeReport(CLOSED_CHANNEL), deriveFlowReport(CLOSED_CHANNEL), deriveRebalanceReport(CLOSED_CHANNEL), - warnings - ); + warnings, + RATING); } private static NodeDetailsDto createNodeDetails(NodeDto node, List channels, Set warnings) { diff --git a/ui/src/main/java/de/cotto/lndmanagej/ui/UiDataServiceImpl.java b/ui/src/main/java/de/cotto/lndmanagej/ui/UiDataServiceImpl.java index 4aaa5991..4ff9e61a 100644 --- a/ui/src/main/java/de/cotto/lndmanagej/ui/UiDataServiceImpl.java +++ b/ui/src/main/java/de/cotto/lndmanagej/ui/UiDataServiceImpl.java @@ -116,7 +116,8 @@ public class UiDataServiceImpl extends UiDataService { details.feeReport(), details.flowReport(), details.rebalanceReport(), - details.warnings() + details.warnings(), + details.rating() ); } diff --git a/ui/src/main/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDto.java b/ui/src/main/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDto.java index 657b93c8..22ccbc04 100644 --- a/ui/src/main/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDto.java +++ b/ui/src/main/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDto.java @@ -5,6 +5,7 @@ import de.cotto.lndmanagej.controller.dto.FeeReportDto; import de.cotto.lndmanagej.controller.dto.FlowReportDto; import de.cotto.lndmanagej.controller.dto.OnChainCostsDto; import de.cotto.lndmanagej.controller.dto.PoliciesDto; +import de.cotto.lndmanagej.controller.dto.RatingDto; import de.cotto.lndmanagej.controller.dto.RebalanceReportDto; import de.cotto.lndmanagej.model.ChannelId; import de.cotto.lndmanagej.model.OpenInitiator; @@ -26,7 +27,8 @@ public record ChannelDetailsDto( FeeReportDto feeReport, FlowReportDto flowReport, RebalanceReportDto rebalanceReport, - Set warnings + Set warnings, + RatingDto rating ) { } diff --git a/ui/src/main/resources/templates/tiles/third/channel-details.html b/ui/src/main/resources/templates/tiles/third/channel-details.html index 2b71b4fd..41c701f7 100644 --- a/ui/src/main/resources/templates/tiles/third/channel-details.html +++ b/ui/src/main/resources/templates/tiles/third/channel-details.html @@ -38,6 +38,7 @@

+

diff --git a/ui/src/test/java/de/cotto/lndmanagej/ui/UiDataServiceImplTest.java b/ui/src/test/java/de/cotto/lndmanagej/ui/UiDataServiceImplTest.java index da195423..6b27dc34 100644 --- a/ui/src/test/java/de/cotto/lndmanagej/ui/UiDataServiceImplTest.java +++ b/ui/src/test/java/de/cotto/lndmanagej/ui/UiDataServiceImplTest.java @@ -14,6 +14,7 @@ import de.cotto.lndmanagej.controller.dto.NodesAndChannelsWithWarningsDto; import de.cotto.lndmanagej.controller.dto.OnChainCostsDto; import de.cotto.lndmanagej.controller.dto.PoliciesDto; import de.cotto.lndmanagej.controller.dto.PolicyDto; +import de.cotto.lndmanagej.controller.dto.RatingDto; import de.cotto.lndmanagej.controller.dto.RebalanceReportDto; import de.cotto.lndmanagej.model.BalanceInformation; import de.cotto.lndmanagej.model.Coins; @@ -297,8 +298,8 @@ class UiDataServiceImplTest { FeeReportDto.createFromModel(FEE_REPORT), FlowReportDto.createFromModel(FLOW_REPORT), RebalanceReportDto.createFromModel(REBALANCE_REPORT), - Set.of(CHANNEL_NUM_UPDATES_WARNING.description()) - )); + Set.of(CHANNEL_NUM_UPDATES_WARNING.description()), + RatingDto.fromModel(RATING))); } @Test diff --git a/ui/src/test/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoTest.java b/ui/src/test/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoTest.java index 8948ff07..651f165b 100644 --- a/ui/src/test/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoTest.java +++ b/ui/src/test/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoTest.java @@ -4,6 +4,7 @@ import de.cotto.lndmanagej.controller.dto.FeeReportDto; import de.cotto.lndmanagej.controller.dto.FlowReportDto; import de.cotto.lndmanagej.controller.dto.OnChainCostsDto; import de.cotto.lndmanagej.controller.dto.PoliciesDto; +import de.cotto.lndmanagej.controller.dto.RatingDto; import de.cotto.lndmanagej.controller.dto.RebalanceReportDto; import de.cotto.lndmanagej.model.OpenInitiator; import org.junit.jupiter.api.Test; @@ -15,6 +16,7 @@ import static de.cotto.lndmanagej.model.FlowReportFixtures.FLOW_REPORT; import static de.cotto.lndmanagej.model.OnChainCostsFixtures.ON_CHAIN_COSTS; import static de.cotto.lndmanagej.model.PolicyFixtures.POLICIES_FOR_LOCAL_CHANNEL; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; +import static de.cotto.lndmanagej.model.RatingFixtures.RATING; import static de.cotto.lndmanagej.model.RebalanceReportFixtures.REBALANCE_REPORT; import static de.cotto.lndmanagej.model.warnings.ChannelWarningsFixtures.CHANNEL_WARNINGS; import static de.cotto.lndmanagej.ui.dto.ChannelDetailsDtoFixture.CHANNEL_DETAILS_DTO; @@ -83,5 +85,10 @@ class ChannelDetailsDtoTest { void warnings() { assertThat(CHANNEL_DETAILS_DTO.warnings()).isEqualTo(CHANNEL_WARNINGS.descriptions()); } + + @Test + void rating() { + assertThat(CHANNEL_DETAILS_DTO.rating()).isEqualTo(RatingDto.fromModel(RATING)); + } // CPD-ON } diff --git a/ui/src/testFixtures/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoFixture.java b/ui/src/testFixtures/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoFixture.java index 2d466667..268608d4 100644 --- a/ui/src/testFixtures/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoFixture.java +++ b/ui/src/testFixtures/java/de/cotto/lndmanagej/ui/dto/ChannelDetailsDtoFixture.java @@ -4,6 +4,7 @@ import de.cotto.lndmanagej.controller.dto.FeeReportDto; import de.cotto.lndmanagej.controller.dto.FlowReportDto; import de.cotto.lndmanagej.controller.dto.OnChainCostsDto; import de.cotto.lndmanagej.controller.dto.PoliciesDto; +import de.cotto.lndmanagej.controller.dto.RatingDto; import de.cotto.lndmanagej.controller.dto.RebalanceReportDto; import static de.cotto.lndmanagej.controller.dto.ChannelStatusDtoFixture.CHANNEL_STATUS_PUBLIC_OPEN; @@ -14,6 +15,7 @@ import static de.cotto.lndmanagej.model.OnChainCostsFixtures.ON_CHAIN_COSTS; import static de.cotto.lndmanagej.model.OpenInitiator.LOCAL; import static de.cotto.lndmanagej.model.PolicyFixtures.POLICIES_FOR_LOCAL_CHANNEL; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; +import static de.cotto.lndmanagej.model.RatingFixtures.RATING; import static de.cotto.lndmanagej.model.RebalanceReportFixtures.REBALANCE_REPORT; import static de.cotto.lndmanagej.model.warnings.ChannelWarningsFixtures.CHANNEL_WARNINGS; import static de.cotto.lndmanagej.ui.dto.BalanceInformationModelFixture.BALANCE_INFORMATION_MODEL; @@ -35,6 +37,6 @@ public class ChannelDetailsDtoFixture { FeeReportDto.createFromModel(FEE_REPORT), FlowReportDto.createFromModel(FLOW_REPORT), RebalanceReportDto.createFromModel(REBALANCE_REPORT), - CHANNEL_WARNINGS.descriptions() - ); + CHANNEL_WARNINGS.descriptions(), + RatingDto.fromModel(RATING)); }