Skip to content

Commit

Permalink
legger tilbake cucumber.java8 for å kjøre lambda funksjoner
Browse files Browse the repository at this point in the history
fjerner ignorerte tester som skaper problemer
  • Loading branch information
Stian S. Douzette committed Jun 24, 2024
1 parent 53477eb commit 5e05e89
Show file tree
Hide file tree
Showing 13 changed files with 272 additions and 390 deletions.
6 changes: 5 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,12 @@ dependencies {
testImplementation("com.willowtreeapps.assertk:assertk-jvm:$assertkVersion")
testImplementation("io.rest-assured:rest-assured:$restAssuredVersion")

testImplementation(platform("io.cucumber:cucumber-bom:7.11.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
testImplementation("io.cucumber:cucumber-junit-platform-engine")
testImplementation("org.junit.platform:junit-platform-suite")
testImplementation("io.cucumber:cucumber-junit:$cucumberVersion")
testImplementation("io.cucumber:cucumber-java:$cucumberVersion")
testImplementation("io.cucumber:cucumber-java8:$cucumberVersion")
testImplementation("com.tngtech.archunit:archunit:$archUnitVersion")
testImplementation("com.tngtech.archunit:archunit-junit5:$archUnitVersion")
testImplementation("org.skyscreamer:jsonassert:$jsonassertVersion")
Expand Down
25 changes: 13 additions & 12 deletions src/test/kotlin/no/nav/medlemskap/RunCucumberTest.kt
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package no.nav.medlemskap

import io.cucumber.junit.Cucumber
import io.cucumber.junit.CucumberOptions
import org.junit.runner.RunWith
import io.cucumber.junit.platform.engine.Constants
import org.junit.platform.suite.api.ConfigurationParameter
import org.junit.platform.suite.api.IncludeEngines
import org.junit.platform.suite.api.SelectClasspathResource
import org.junit.platform.suite.api.Suite

@RunWith(Cucumber::class)
@CucumberOptions(
features = ["src/test/resources/dokumentasjon/features"],
glue = ["no.nav.medlemskap.cucumber.steps"],
plugin = ["pretty", "html:build/cucumber.html"],
tags = "not @ignored",
monochrome = false
)
class RunCucumberTest

@Suite
@IncludeEngines("cucumber")
@SelectClasspathResource("cucumber")
@ConfigurationParameter(key = Constants.PLUGIN_PROPERTY_NAME, value = "pretty")
@ConfigurationParameter(key = Constants.FEATURES_PROPERTY_NAME, value = "src/test/resources/dokumentasjon/features")
@ConfigurationParameter(key = Constants.GLUE_PROPERTY_NAME, value = "no.nav.medlemskap.cucumber.steps")
class RunCucumberTest
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package no.nav.medlemskap.cucumber.steps
import io.cucumber.java.no.Gitt
import io.cucumber.java.no.Når
import io.cucumber.java.no.Så

import io.cucumber.java8.No
import junit.framework.TestCase.assertEquals
import no.nav.medlemskap.cucumber.DomenespråkParser
import no.nav.medlemskap.domene.Datagrunnlag
Expand All @@ -11,33 +10,31 @@ import no.nav.medlemskap.regler.common.Resultat
import no.nav.medlemskap.regler.personer.Personleser
import no.nav.medlemskap.regler.v1.ReglerService

class RegelFraDatagrunnlagJsonSteps {
class RegelFraDatagrunnlagJsonSteps : No {
private var resultat: Resultat? = null
private var datagrunnlag: Datagrunnlag? = null
private val domenespråkParser = DomenespråkParser

init {
@Gitt("følgende datagrunnlag json") {
fun dataGrunnlagFraJson(docString: String){
datagrunnlag = Personleser.dataGrunnlagFraJson(docString!!)
}
Gitt("følgende datagrunnlag json") { docString: String? ->
datagrunnlag = Personleser.dataGrunnlagFraJson(docString!!)
}

@Når("lovvalg og medlemskap beregnes fra datagrunnlag json") {
Når("lovvalg og medlemskap beregnes fra datagrunnlag json") {
resultat = ReglerService.kjørRegler(datagrunnlag!!)
}

@Så("skal delresultat {string} være {string}") { regelIdStr: String, forventetSvar: String? ->
Så("skal delresultat {string} være {string}") { regelIdStr: String, forventetSvar: String? ->
val regelId = domenespråkParser.parseRegelId(regelIdStr)

assertDelresultat(regelId, domenespråkParser.parseSvar(forventetSvar!!), resultat!!)
}

@Så("omfattet av grunnforordningen være {string}") { forventetSvar: String? ->
Så("omfattet av grunnforordningen være {string}") { forventetSvar: String? ->
assertDelresultat(REGEL_2, domenespråkParser.parseSvar(forventetSvar!!), resultat!!)
}

@Så("skal medlemskap i Folketrygden være {string}") {
Så("skal medlemskap i Folketrygden være {string}") {
forventetVerdi: String ->
val forventetSvar = domenespråkParser.parseSvar(forventetVerdi)
assertEquals(forventetSvar, resultat!!.svar)
Expand Down
123 changes: 61 additions & 62 deletions src/test/kotlin/no/nav/medlemskap/cucumber/steps/RegelSteps.kt

Large diffs are not rendered by default.

22 changes: 10 additions & 12 deletions src/test/kotlin/no/nav/medlemskap/cucumber/steps/YtelseSteps.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ package no.nav.medlemskap.cucumber.steps
import assertk.assertThat
import assertk.assertions.isEqualTo
import io.cucumber.datatable.DataTable
import io.cucumber.java.no.Gitt
import io.cucumber.java.no.Når
import io.cucumber.java.no.Så
import io.cucumber.java8.No
import junit.framework.TestCase.assertEquals
import no.nav.medlemskap.cucumber.DomenespråkParser
import no.nav.medlemskap.cucumber.ytelse.YtelseDomenespråkParser
Expand All @@ -18,7 +16,7 @@ import no.nav.medlemskap.domene.Kontrollperiode.Companion.startDatoForYtelse
import no.nav.medlemskap.regler.common.Datohjelper.parseDato
import java.time.LocalDate

class YtelseSteps {
class YtelseSteps : No {
private val ytelseDomenespråkParser = YtelseDomenespråkParser

private var ytelsePeriode: InputPeriode? = null
Expand All @@ -27,16 +25,16 @@ class YtelseSteps {
private var startDatoForYtelse: LocalDate? = null

init {
@Gitt("følgende sykemeldingsperiode:") { dataTable: DataTable ->
Gitt("følgende sykemeldingsperiode:") { dataTable: DataTable ->
ytelsePeriode = DomenespråkParser.mapInputPeriode(dataTable)
}

@Når("første sykedag beregnes fra sykemeldingsperiode") {
Når("første sykedag beregnes fra sykemeldingsperiode") {
startDatoForYtelse = startDatoForYtelse(ytelsePeriode!!, null)
førsteDagForYtelse = startDatoForYtelse
}

@Når("kontrollperiode for arbeidsforhold beregnes med følgende parametre:") { dataTable: DataTable ->
Når("kontrollperiode for arbeidsforhold beregnes med følgende parametre:") { dataTable: DataTable ->
val parametreKontrollperiode = ytelseDomenespråkParser.mapParametreKontrollperiode(dataTable)

ytelsePeriode = parametreKontrollperiode.iputPeriode
Expand All @@ -46,7 +44,7 @@ class YtelseSteps {
kontrollperiode = kontrollPeriodeForArbeidsforhold(startDatoForYtelse(ytelsePeriode!!, førsteDagForYtelse))
}

@Når(
Når(
"kontrollperiode for oppholdstillatelse beregnes med følgende parametre:"
) { dataTable: DataTable ->
val parametreKontrollperiode = ytelseDomenespråkParser.mapParametreKontrollperiode(dataTable)
Expand All @@ -58,7 +56,7 @@ class YtelseSteps {
kontrollperiode = kontrollPeriodeForOppholdstillatelse(startDatoForYtelse(ytelsePeriode!!, førsteDagForYtelse))
}

@Når("kontrollperiode for medl beregnes med følgende parametre:") { dataTable: DataTable ->
Når("kontrollperiode for medl beregnes med følgende parametre:") { dataTable: DataTable ->
val parametreKontrollperiode = ytelseDomenespråkParser.mapParametreKontrollperiode(dataTable)

ytelsePeriode = parametreKontrollperiode.iputPeriode
Expand All @@ -67,16 +65,16 @@ class YtelseSteps {
kontrollperiode = kontrollPeriodeForMedl(startDatoForYtelse(ytelsePeriode!!, parametreKontrollperiode.førsteDagForYtelse))
}

@Så("skal første sykedag være {string}") { forventetDato: String ->
Så("skal første sykedag være {string}") { forventetDato: String ->
assertEquals(parseDato(forventetDato), førsteDagForYtelse)
}

@Så("skal kontrollperioden være:") { dataTable: DataTable ->
Så("skal kontrollperioden være:") { dataTable: DataTable ->
val forventetKontrollperiode = ytelseDomenespråkParser.mapKontrollperiode(dataTable)
assertThat(kontrollperiode).isEqualTo(forventetKontrollperiode)
}

@Så("skal startdato for ytelse være {string}") { forventetStartDatoForYtelse: String ->
Så("skal startdato for ytelse være {string}") { forventetStartDatoForYtelse: String ->
assertThat(startDatoForYtelse).isEqualTo(parseDato(forventetStartDatoForYtelse))
}
}
Expand Down
Loading

0 comments on commit 5e05e89

Please sign in to comment.