This repository has been archived on 2025-10-02. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
helse-sprik/backend/src/test/kotlin/no/nav/helse/sprik/FeilmeldingTest.kt

56 lines
1.8 KiB
Kotlin
Raw Normal View History

package no.nav.helse.sprik
import com.zaxxer.hikari.HikariConfig
import no.nav.helse.sprik.db.Database
import no.nav.helse.sprik.db.FeilmeldingRepository
import no.nav.helse.sprik.db.FeilmeldingTable
import org.jetbrains.exposed.sql.deleteAll
import org.jetbrains.exposed.sql.selectAll
import org.jetbrains.exposed.sql.transactions.transaction
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
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()
private val feilmeldingRepository = FeilmeldingRepository()
@BeforeAll
fun setup() {
ExposedDatabase.connect(database.dataSource)
}
@AfterEach
fun wipe() {
transaction {
FeilmeldingTable.deleteAll()
}
}
@Test
fun `Sett opp testdatabasen riktig`(){
feilmeldingRepository.lagre("Hællæ", "skjera bagera", LocalDateTime.of(2023,1,1,8,0))
transaction {
assertEquals(1, FeilmeldingTable.selectAll().map {
it
}.size)
}
}
@Test
fun `Lagrer feilmelding i databasen`() {
feilmeldingRepository.lagre("test", "testesen", LocalDateTime.of(2023,1,1,8,0))
transaction {
val actual = FeilmeldingTable.selectAll().single()
assertEquals("test", actual[FeilmeldingTable.tittel])
assertEquals("testesen", actual[FeilmeldingTable.beskrivelse])
assertEquals(LocalDateTime.of(2023, 1, 1, 8, 0), actual[FeilmeldingTable.dato])
}
}
}