Merge oppdaterer-backend til main (#21)

* 🚧 Påbegynt oppdater feilmeldinger

*  Kan oppdatere en feilmelding

* ✏️  Magisk fjerna felter fikset

* ✏️  Fiksa manglende curly og ubrukte imports
This commit is contained in:
Amalie 2023-08-01 15:37:49 +02:00 committed by GitHub
parent 0edfd3ac1f
commit 976d69c134
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 15 deletions

View file

@ -1,6 +1,5 @@
package no.nav.helse.sprik.db
import com.typesafe.config.ConfigException.Null
import no.nav.helse.sprik.db.FeilmeldingTable.arbeidsstatus
import no.nav.helse.sprik.db.FeilmeldingTable.beskrivelse
import no.nav.helse.sprik.db.FeilmeldingTable.dato
@ -11,7 +10,6 @@ import no.nav.helse.sprik.modell.Feilmelding
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.SqlExpressionBuilder.like
import org.jetbrains.exposed.sql.transactions.transaction
import java.time.LocalDateTime
class FeilmeldingRepository {
fun lagre(feilmelding: Feilmelding) {
@ -44,18 +42,22 @@ class FeilmeldingRepository {
fun hentSokteFeilmeldinger(sokeord: String): List<Feilmelding> = transaction {
val sok = "%${sokeord.lowercase()}%"
FeilmeldingTable.select((FeilmeldingTable.tittel.lowerCase() like sok)
or (FeilmeldingTable.beskrivelse.lowerCase() like sok))
FeilmeldingTable.select(
(FeilmeldingTable.tittel.lowerCase() like sok)
or (FeilmeldingTable.beskrivelse.lowerCase() like sok)
)
.map(::radTilFeilmelding)
}
fun hentFeilmelding(id: String) = transaction {
TODO()
FeilmeldingTable.id
}
fun oppdaterFeilmelding(id: String): Nothing = transaction {
TODO()
fun oppdaterFeilmelding(feilmelding: Feilmelding) = transaction {
val id = feilmelding.id
if (id != null) {
FeilmeldingTable.update({ FeilmeldingTable.id eq id }) {
it[FeilmeldingTable.tittel] = feilmelding.tittel
it[FeilmeldingTable.beskrivelse] = feilmelding.beskrivelse
it[FeilmeldingTable.arbeidsstatus] = feilmelding.arbeidsstatus
it[FeilmeldingTable.haster] = feilmelding.haster
}
}
}
}

View file

@ -69,6 +69,7 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
}
}
}
connector {
port = 8080
}

View file

@ -15,6 +15,7 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import java.time.LocalDateTime
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import org.jetbrains.exposed.sql.Database as ExposedDatabase
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@ -22,7 +23,8 @@ class FeilmeldingTest {
private val database = Database(dbconfig()).configureFlyway()
private val feilmeldingRepository = FeilmeldingRepository()
private val feilmelding = Feilmelding(1, "Test", "Testesen", LocalDateTime.of(2023,1,1,8,0), 0, true)
private val feilmelding2 = Feilmelding(2, "Tittel", "Beskrivelse", LocalDateTime.of(2023,2,1,8,0), 1, false)
// private val feilmelding2 = Feilmelding(2, "Tittel", "Beskrivelse", LocalDateTime.of(2023,2,1,8,0), 1, false)
@BeforeAll
fun setup() {
@ -104,6 +106,14 @@ class FeilmeldingTest {
@Test
fun `Oppdaterer en feilmelding`() {
val oppdatertFeilmelding = Feilmelding(1, "Oppdatert", "Oppdatert feil", LocalDateTime.of(2023,1,1,8,0), 1, false)
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
transaction {
val actual = FeilmeldingTable.selectAll().single()
assertEquals("Oppdatert", actual[FeilmeldingTable.tittel])
assertEquals("Oppdatert feil", actual[FeilmeldingTable.beskrivelse])
assertFalse ( actual[FeilmeldingTable.haster] )
assertEquals(1, actual[FeilmeldingTable.arbeidsstatus])
}
}
}