Søk er case-insensitive

Co-authored-by: Markus A. R. Johansen <markus.aleksander.rakil.johansen@nav.no>
Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no>
This commit is contained in:
Sindre Kjelsrud 2023-07-26 13:26:17 +02:00
parent 0271b96cbf
commit 7c7115dfe9
2 changed files with 13 additions and 11 deletions

View file

@ -34,16 +34,11 @@ class FeilmeldingRepository {
}
fun hentSokteFeilmeldinger(sokeord: String): List<Feilmelding> = 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)
}
}

View file

@ -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<Feilmelding> = feilmeldingRepository.hentSokteFeilmeldinger("Teste")
val sokeresultat: List<Feilmelding> = 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<Feilmelding> = feilmeldingRepository.hentSokteFeilmeldinger("abrakadabra")
assertEquals(0, sokeresultat.size)
}
@Test
fun `Søk er ikke case sensitivt`() {
val sokeresultat: List<Feilmelding> = feilmeldingRepository.hentSokteFeilmeldinger("test")
assertEquals(1, sokeresultat.size)
assertEquals("Test", sokeresultat[0].tittel)
assertEquals("Testesen", sokeresultat[0].beskrivelse)
}
}