✨ Satt opp initiell database og tester
Co-authored-by: Amalie Mansåker <amalie.erdal.mansaker@nav.no> Co-authored-by: Hege Haavaldsen <hege.haavaldsen@nav.no> Co-authored-by: Helene Arnesen <helene.arnesen@nav.no>
This commit is contained in:
parent
eba022a416
commit
30a0ba6acc
6 changed files with 84 additions and 14 deletions
|
@ -0,0 +1,17 @@
|
||||||
|
package no.nav.helse.sprik.db
|
||||||
|
|
||||||
|
import org.jetbrains.exposed.sql.insert
|
||||||
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
|
|
||||||
|
class FeilmeldingRepository {
|
||||||
|
fun lagre(tittel: String, beskrivelse: String){
|
||||||
|
transaction {
|
||||||
|
FeilmeldingTable.run {
|
||||||
|
insert {
|
||||||
|
it[FeilmeldingTable.tittel] = tittel
|
||||||
|
it[FeilmeldingTable.beskrivelse] = beskrivelse
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package no.nav.helse.sprik.db
|
||||||
|
|
||||||
|
import org.jetbrains.exposed.sql.Table
|
||||||
|
|
||||||
|
object FeilmeldingTable : Table("feilmelding") {
|
||||||
|
val tittel = text("tittel")
|
||||||
|
val beskrivelse = text("beskrivelse")
|
||||||
|
}
|
|
@ -18,6 +18,7 @@ import java.time.LocalDate
|
||||||
class Feilmelding(
|
class Feilmelding(
|
||||||
val tittel: String,
|
val tittel: String,
|
||||||
val beskrivelse: String,
|
val beskrivelse: String,
|
||||||
|
|
||||||
@Serializable(LocalDateSerializer::class)
|
@Serializable(LocalDateSerializer::class)
|
||||||
val dato: LocalDate? = null, //Krever en spesiallaget serialiserer i KotlinX
|
val dato: LocalDate? = null, //Krever en spesiallaget serialiserer i KotlinX
|
||||||
val tags: ArrayList<String> = arrayListOf<String>()
|
val tags: ArrayList<String> = arrayListOf<String>()
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
CREATE TABLE feilmelding (
|
||||||
|
tittel VARCHAR NOT NULL,
|
||||||
|
beskrivelse VARCHAR NOT NULL
|
||||||
|
)
|
|
@ -1,14 +0,0 @@
|
||||||
package no.nav.helse.sprik
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test
|
|
||||||
import kotlin.test.assertEquals
|
|
||||||
|
|
||||||
|
|
||||||
class DbTest {
|
|
||||||
@Test
|
|
||||||
fun `Tester noe rart for å sjekke om junit funker`() {
|
|
||||||
val a = 2
|
|
||||||
assertEquals(2, a)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
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 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 `Lagrer feilmelding i databasen`() {
|
||||||
|
feilmeldingRepository.lagre("test", "testesen")
|
||||||
|
transaction {
|
||||||
|
val actual = FeilmeldingTable.selectAll().single()
|
||||||
|
assertEquals("test", actual[FeilmeldingTable.tittel])
|
||||||
|
assertEquals("testesen", actual[FeilmeldingTable.beskrivelse])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `Sett opp testdatabasen riktig`(){
|
||||||
|
feilmeldingRepository.lagre("Hællæ", "skjera bagera")
|
||||||
|
transaction {
|
||||||
|
assertEquals(1, FeilmeldingTable.selectAll().map {
|
||||||
|
it
|
||||||
|
}.size)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in a new issue