Kan oppdatere en feilmelding

This commit is contained in:
Amalie Mansåker 2023-08-01 14:35:55 +02:00
parent 80c0d1c15f
commit a9a8c7e065
3 changed files with 25 additions and 9 deletions

View file

@ -48,12 +48,19 @@ class FeilmeldingRepository {
}
fun hentFeilmelding(id: String) = transaction {
TODO()
FeilmeldingTable.id
}
//fun hentFeilmelding(id: String) = transaction {
// FeilmeldingTable.select()
//}
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

@ -18,7 +18,7 @@ class Feilmelding(
val tittel: String,
val beskrivelse: String,
val dato: LocalDateTime, //Krever en spesiallaget serialiserer i KotlinX
val arbeidsstatus: Int?,
val arbeidsstatus: Int,
val haster: Boolean
//val bilde: String,
) {

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,7 @@ 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 +105,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])
}
}
}