mirror of
https://github.com/aljazceru/lnd-manageJ.git
synced 2026-01-30 11:14:28 +01:00
add basic support for #PickhardtPayments
work in progress, see https://github.com/C-Otto/lnd-manageJ/issues/6
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package de.cotto.lndmanagej.controller;
|
||||
|
||||
import de.cotto.lndmanagej.controller.dto.MultiPathPaymentDto;
|
||||
import de.cotto.lndmanagej.model.Coins;
|
||||
import de.cotto.lndmanagej.pickhardtpayments.MultiPathPaymentComputation;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY;
|
||||
import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2;
|
||||
import static de.cotto.lndmanagej.pickhardtpayments.model.MultiPathPaymentFixtures.MULTI_PATH_PAYMENT;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class PickhardtPaymentsControllerTest {
|
||||
|
||||
@InjectMocks
|
||||
private PickhardtPaymentsController controller;
|
||||
|
||||
@Mock
|
||||
private MultiPathPaymentComputation multiPathPaymentComputation;
|
||||
|
||||
@Test
|
||||
void sendTo() {
|
||||
when(multiPathPaymentComputation.getMultiPathPaymentTo(PUBKEY, Coins.ofSatoshis(456)))
|
||||
.thenReturn(MULTI_PATH_PAYMENT);
|
||||
assertThat(controller.sendTo(PUBKEY, 456))
|
||||
.isEqualTo(MultiPathPaymentDto.fromModel(MULTI_PATH_PAYMENT));
|
||||
}
|
||||
|
||||
@Test
|
||||
void send() {
|
||||
when(multiPathPaymentComputation.getMultiPathPayment(PUBKEY, PUBKEY_2, Coins.ofSatoshis(123)))
|
||||
.thenReturn(MULTI_PATH_PAYMENT);
|
||||
assertThat(controller.send(PUBKEY, PUBKEY_2, 123))
|
||||
.isEqualTo(MultiPathPaymentDto.fromModel(MULTI_PATH_PAYMENT));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package de.cotto.lndmanagej.controller.dto;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID;
|
||||
import static de.cotto.lndmanagej.pickhardtpayments.model.MultiPathPaymentFixtures.MULTI_PATH_PAYMENT;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class MultiPathPaymentDtoTest {
|
||||
@Test
|
||||
void fromModel() {
|
||||
double probability = 0.999_995_238_095_464_9;
|
||||
String amountSat = "100";
|
||||
assertThat(MultiPathPaymentDto.fromModel(MULTI_PATH_PAYMENT)).isEqualTo(new MultiPathPaymentDto(
|
||||
amountSat,
|
||||
probability,
|
||||
List.of(new RouteDto(amountSat, List.of(CHANNEL_ID), probability)))
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user