Files
lnd-manageJ/application/src/test/java/de/cotto/lndmanagej/controller/ChannelDetailsControllerTest.java

45 lines
1.6 KiB
Java

package de.cotto.lndmanagej.controller;
import de.cotto.lndmanagej.metrics.Metrics;
import de.cotto.lndmanagej.service.ChannelService;
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 java.util.Optional;
import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID;
import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
class ChannelDetailsControllerTest {
@InjectMocks
private ChannelDetailsController channelDetailsController;
@Mock
private ChannelService channelService;
@Mock
private Metrics metrics;
@Test
void getChannelDetails_channel_not_found() {
assertThatExceptionOfType(NotFoundException.class)
.isThrownBy(() -> channelDetailsController.getChannelDetails(CHANNEL_ID));
}
@Test
void getChannelDetails() throws NotFoundException {
when(channelService.getLocalChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_OPEN_CHANNEL));
assertThat(channelDetailsController.getChannelDetails(CHANNEL_ID))
.isEqualTo(new ChannelDetailsDto(CHANNEL_ID));
verify(metrics).mark(argThat(name -> name.endsWith(".getChannelDetails")));
}
}