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 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.arbeidsstatus
import no.nav.helse.sprik.db.FeilmeldingTable.beskrivelse import no.nav.helse.sprik.db.FeilmeldingTable.beskrivelse
import no.nav.helse.sprik.db.FeilmeldingTable.dato 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.*
import org.jetbrains.exposed.sql.SqlExpressionBuilder.like import org.jetbrains.exposed.sql.SqlExpressionBuilder.like
import org.jetbrains.exposed.sql.transactions.transaction import org.jetbrains.exposed.sql.transactions.transaction
import java.time.LocalDateTime
class FeilmeldingRepository { class FeilmeldingRepository {
fun lagre(feilmelding: Feilmelding) { fun lagre(feilmelding: Feilmelding) {
@ -44,18 +42,22 @@ class FeilmeldingRepository {
fun hentSokteFeilmeldinger(sokeord: String): List<Feilmelding> = transaction { fun hentSokteFeilmeldinger(sokeord: String): List<Feilmelding> = transaction {
val sok = "%${sokeord.lowercase()}%" val sok = "%${sokeord.lowercase()}%"
FeilmeldingTable.select((FeilmeldingTable.tittel.lowerCase() like sok) FeilmeldingTable.select(
or (FeilmeldingTable.beskrivelse.lowerCase() like sok)) (FeilmeldingTable.tittel.lowerCase() like sok)
or (FeilmeldingTable.beskrivelse.lowerCase() like sok)
)
.map(::radTilFeilmelding) .map(::radTilFeilmelding)
} }
fun hentFeilmelding(id: String) = transaction { fun oppdaterFeilmelding(feilmelding: Feilmelding) = transaction {
TODO() val id = feilmelding.id
FeilmeldingTable.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
}
} }
fun oppdaterFeilmelding(id: String): Nothing = transaction {
TODO()
} }
} }

View file

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

View file

@ -15,6 +15,7 @@ import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.TestInstance
import java.time.LocalDateTime import java.time.LocalDateTime
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertFalse
import org.jetbrains.exposed.sql.Database as ExposedDatabase import org.jetbrains.exposed.sql.Database as ExposedDatabase
@TestInstance(TestInstance.Lifecycle.PER_CLASS) @TestInstance(TestInstance.Lifecycle.PER_CLASS)
@ -22,7 +23,8 @@ class FeilmeldingTest {
private val database = Database(dbconfig()).configureFlyway() private val database = Database(dbconfig()).configureFlyway()
private val feilmeldingRepository = FeilmeldingRepository() private val feilmeldingRepository = FeilmeldingRepository()
private val feilmelding = Feilmelding(1, "Test", "Testesen", LocalDateTime.of(2023,1,1,8,0), 0, true) 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 @BeforeAll
fun setup() { fun setup() {
@ -104,6 +106,14 @@ class FeilmeldingTest {
@Test @Test
fun `Oppdaterer en feilmelding`() { 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])
}
} }
} }