1
0
mirror of https://github.com/pcvolkmer/mv64e-onkostar-data.git synced 2025-09-14 00:12:52 +00:00

refactor: add catalogue factory

This commit is contained in:
2025-06-21 11:28:46 +02:00
parent a70a96980a
commit a52c8cf3b8
5 changed files with 79 additions and 18 deletions

View File

@@ -1,5 +1,6 @@
package dev.pcvolkmer.onco.datamapper.datacatalogues;
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -7,13 +8,14 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.util.List;
import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.verify;
@@ -44,4 +46,13 @@ class KpaCatalogueTest {
.isEqualTo("SELECT * FROM dk_dnpm_kpa JOIN prozedur ON (prozedur.id = dk_dnpm_kpa.id) WHERE geloescht = 0 AND prozedur.id = ?");
}
@Test
void shouldThrowExceptionIfNoKpaProcedureFound() {
doAnswer(invocationOnMock -> List.of())
.when(jdbcTemplate).query(anyString(), any(RowMapper.class), anyString());
var ex = assertThrows(DataAccessException.class, () -> catalogue.getProcedureIdByCaseId("16000123"));
assertThat(ex).hasMessage("No record found for case: 16000123");
}
}

View File

@@ -1,6 +1,5 @@
package dev.pcvolkmer.onco.datamapper.mapper;
import dev.pcvolkmer.onco.datamapper.exceptions.DataAccessException;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -11,7 +10,6 @@ import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
@ExtendWith(MockitoExtension.class)
class MtbDataMapperTest {
@@ -31,10 +29,4 @@ class MtbDataMapperTest {
assertThat(MtbDataMapper.create(dataSource)).isNotNull();
}
@Test
void shouldThrowExceptionIfNoKpaProcedureFound() {
var ex = assertThrows(DataAccessException.class, () -> this.mtbDataMapper.getByCaseId("16000123"));
assertThat(ex).hasMessage("No record found for case: 16000123");
}
}