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));
}