From c82a4f2efd5eb1286e1dcd5ed8cf6c13c97c6fd5 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 20 Jun 2025 20:19:44 +0200 Subject: [PATCH] test: add tests for subform queries --- .../datacatalogues/EcogCatalogueTest.java | 15 +++++++++++++++ .../datacatalogues/HistologieCatalogueTest.java | 15 +++++++++++++++ .../datacatalogues/ProzedurCatalogueTest.java | 15 +++++++++++++++ .../TherapielinieCatalogueTest.java | 15 +++++++++++++++ .../TumorausbreitungCatalogueTest.java | 15 +++++++++++++++ .../datacatalogues/TumorgradingCatalogueTest.java | 15 +++++++++++++++ .../datacatalogues/VerwandteCatalogueTest.java | 15 +++++++++++++++ .../datacatalogues/VorbefundeCatalogueTest.java | 15 +++++++++++++++ 8 files changed, 120 insertions(+) diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/EcogCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/EcogCatalogueTest.java index ad25cb7..5ce8aa7 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/EcogCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/EcogCatalogueTest.java @@ -44,4 +44,19 @@ class EcogCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_ecog JOIN prozedur ON (prozedur.id = dk_dnpm_uf_ecog.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_ecog JOIN prozedur ON (prozedur.id = dk_dnpm_uf_ecog.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/HistologieCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/HistologieCatalogueTest.java index 7a7a1c3..f0951d8 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/HistologieCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/HistologieCatalogueTest.java @@ -44,4 +44,19 @@ class HistologieCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_histologie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_histologie JOIN prozedur ON (prozedur.id = dk_dnpm_uf_histologie.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/ProzedurCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/ProzedurCatalogueTest.java index 8a8e896..aea529e 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/ProzedurCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/ProzedurCatalogueTest.java @@ -44,4 +44,19 @@ class ProzedurCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_prozedur JOIN prozedur ON (prozedur.id = dk_dnpm_uf_prozedur.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_prozedur JOIN prozedur ON (prozedur.id = dk_dnpm_uf_prozedur.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TherapielinieCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TherapielinieCatalogueTest.java index 88401c4..18e3c7f 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TherapielinieCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TherapielinieCatalogueTest.java @@ -44,4 +44,19 @@ class TherapielinieCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_therapielinie JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_therapielinie JOIN prozedur ON (prozedur.id = dk_dnpm_therapielinie.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorausbreitungCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorausbreitungCatalogueTest.java index 3a8533d..bb80f1e 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorausbreitungCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorausbreitungCatalogueTest.java @@ -44,4 +44,19 @@ class TumorausbreitungCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_tumorausbreitung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_tumorausbreitung JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorausbreitung.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorgradingCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorgradingCatalogueTest.java index 8a09bcb..9409950 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorgradingCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/TumorgradingCatalogueTest.java @@ -44,4 +44,19 @@ class TumorgradingCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_tumorgrading JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorgrading.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_tumorgrading JOIN prozedur ON (prozedur.id = dk_dnpm_uf_tumorgrading.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VerwandteCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VerwandteCatalogueTest.java index 9afb6ac..c2b95cc 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VerwandteCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VerwandteCatalogueTest.java @@ -44,4 +44,19 @@ class VerwandteCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_verwandte JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_verwandte JOIN prozedur ON (prozedur.id = dk_dnpm_uf_verwandte.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + } diff --git a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VorbefundeCatalogueTest.java b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VorbefundeCatalogueTest.java index 7adf814..08d561c 100644 --- a/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VorbefundeCatalogueTest.java +++ b/src/test/java/dev/pcvolkmer/onco/datamapper/datacatalogues/VorbefundeCatalogueTest.java @@ -44,4 +44,19 @@ class VorbefundeCatalogueTest { .isEqualTo("SELECT * FROM dk_dnpm_uf_vorbefunde JOIN prozedur ON (prozedur.id = dk_dnpm_uf_vorbefunde.id) WHERE geloescht = 0 AND id = ?"); } + @Test + void shouldUseCorrectSubformQuery(@Mock ResultSet resultSet) { + doAnswer(invocationOnMock -> List.of(resultSet)) + .when(jdbcTemplate) + .query(anyString(), any(RowMapper.class), anyInt()); + + this.catalogue.getAllByMainId(1); + + var captor = ArgumentCaptor.forClass(String.class); + verify(this.jdbcTemplate).query(captor.capture(), any(RowMapper.class), anyInt()); + + assertThat(captor.getValue()) + .isEqualTo("SELECT * FROM dk_dnpm_uf_vorbefunde JOIN prozedur ON (prozedur.id = dk_dnpm_uf_vorbefunde.id) WHERE geloescht = 0 AND hauptprozedur_id = ?"); + } + }