From 7c7115dfe927998fd7a54a860650b1b58452b02e Mon Sep 17 00:00:00 2001 From: Sindre Kjelsrud Date: Wed, 26 Jul 2023 13:26:17 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20S=C3=B8k=20er=20case-insensitive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Markus A. R. Johansen Co-authored-by: Amalie Erdal Mansåker --- .../no/nav/helse/sprik/db/FeilmeldingRepository.kt | 13 ++++--------- .../kotlin/no/nav/helse/sprik/FeilmeldingTest.kt | 11 +++++++++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt b/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt index 9ec1063..cb5a975 100644 --- a/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt +++ b/backend/src/main/kotlin/no/nav/helse/sprik/db/FeilmeldingRepository.kt @@ -34,16 +34,11 @@ class FeilmeldingRepository { } fun hentSokteFeilmeldinger(sokeord: String): List = transaction { - /* val query = FeilmeldingTable.selectAll() - tittel?.let { - query.andWhere { FeilmeldingTable.tittel like sokeord } - } - beskrivelse?.let { - query.andWhere { FeilmeldingTable.beskrivelse like sokeord } - } */ - val sok = "%${sokeord}%" + val sok = "%${sokeord.lowercase()}%" - FeilmeldingTable.select((FeilmeldingTable.tittel like sok) or (FeilmeldingTable.beskrivelse like sok)).map(::radTilFeilmelding) + FeilmeldingTable.select((FeilmeldingTable.tittel.lowerCase() like sok) + or (FeilmeldingTable.beskrivelse.lowerCase() like sok)) + .map(::radTilFeilmelding) } } diff --git a/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt b/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt index 37bfe18..b40f9ad 100644 --- a/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt +++ b/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt @@ -17,7 +17,6 @@ import java.time.LocalDateTime import kotlin.test.assertEquals import org.jetbrains.exposed.sql.Database as ExposedDatabase - @TestInstance(TestInstance.Lifecycle.PER_CLASS) class FeilmeldingTest { private val database = Database(dbconfig()).configureFlyway() @@ -83,7 +82,7 @@ class FeilmeldingTest { @Test fun `Henter feilmeldinger som har søkestreng som substreng`() { - val sokeresultat: List = feilmeldingRepository.hentSokteFeilmeldinger("Teste") + val sokeresultat: List = feilmeldingRepository.hentSokteFeilmeldinger("este") assertEquals(1, sokeresultat.size) assertEquals("Test", sokeresultat[0].tittel) assertEquals("Testesen", sokeresultat[0].beskrivelse) @@ -94,4 +93,12 @@ class FeilmeldingTest { val sokeresultat: List = feilmeldingRepository.hentSokteFeilmeldinger("abrakadabra") assertEquals(0, sokeresultat.size) } + + @Test + fun `Søk er ikke case sensitivt`() { + val sokeresultat: List = feilmeldingRepository.hentSokteFeilmeldinger("test") + assertEquals(1, sokeresultat.size) + assertEquals("Test", sokeresultat[0].tittel) + assertEquals("Testesen", sokeresultat[0].beskrivelse) + } } \ No newline at end of file