Skip to content

Commit 0fc7a00

Browse files
authored
Bugfix Famvern controls (#1187)
1 parent 8208c81 commit 0fc7a00

File tree

5 files changed

+30
-32
lines changed

5 files changed

+30
-32
lines changed

kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/famvern/famvern52a/Rule022OmraaderArbeidet.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,7 @@ import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.TEMA_SAMS
2020
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.TEMA_SYKD_A_COL_NAME
2121
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.TEMA_TVANG_A_COL_NAME
2222
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.TEMA_VOLD_A_COL_NAME
23-
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aFieldDefinitions.fieldDefinitions
2423
import no.ssb.kostra.program.KostraRecord
25-
import no.ssb.kostra.program.extension.byColumnName
26-
import no.ssb.kostra.program.extension.codeExists
2724
import no.ssb.kostra.validation.report.Severity
2825
import no.ssb.kostra.validation.rule.AbstractNoArgsRule
2926

@@ -34,15 +31,13 @@ class Rule022OmraaderArbeidet :
3431
) {
3532
override fun validate(context: List<KostraRecord>) =
3633
context
37-
.filterNot {
38-
tema.any { tema ->
39-
fieldDefinitions.byColumnName(tema).codeExists(it[tema])
40-
}
34+
.filter {
35+
temaer.none { tema -> it[tema] == "1" }
4136
}.map {
4237
createValidationReportEntry(
4338
messageText =
4439
"Det er ikke fylt ut hvilke områder det har vært arbeidet med siden saken ble opprettet. " +
45-
"Feltet er obligatorisk å fylle ut, og kan inneholde mer enn ett område.",
40+
"Feltet er obligatorisk å fylle ut, og kan inneholde mer enn ett område.",
4641
lineNumbers = listOf(it.lineNumber),
4742
).copy(
4843
caseworker = it[KONTOR_NR_A_COL_NAME],
@@ -51,7 +46,7 @@ class Rule022OmraaderArbeidet :
5146
}.ifEmpty { null }
5247

5348
companion object {
54-
private val tema =
49+
private val temaer =
5550
listOf(
5651
TEMA_PARREL_A_COL_NAME,
5752
TEMA_AVKLAR_A_COL_NAME,

kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/famvern/famvern52a/Rule024DeltagelseBehandlingssamtaler.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ class Rule024DeltagelseBehandlingssamtaler :
2222
override fun validate(context: List<KostraRecord>) =
2323
context
2424
.filter {
25-
deltakere.none { deltaker -> it[deltaker] == JA }
25+
fields.none { deltaker -> it[deltaker] == JA }
2626
}.map {
2727
createValidationReportEntry(
2828
messageText =
2929
"Det er ikke krysset av for om andre deltakere i saken har deltatt i samtaler " +
30-
"med primærklienten i løpet av rapporteringsåret. Feltene er obligatorisk å fylle ut.",
30+
"med primærklienten i løpet av rapporteringsåret. Feltene er obligatorisk å fylle ut.",
3131
lineNumbers = listOf(it.lineNumber),
3232
).copy(
3333
caseworker = it[KONTOR_NR_A_COL_NAME],
@@ -37,7 +37,7 @@ class Rule024DeltagelseBehandlingssamtaler :
3737

3838
companion object {
3939
private const val JA = "1"
40-
private val deltakere =
40+
private val fields =
4141
listOf(
4242
DELT_PARTNER_A_COL_NAME,
4343
DELT_EKSPART_A_COL_NAME,

kontroller/src/main/kotlin/no/ssb/kostra/validation/rule/famvern/famvern52a/Rule032SamarbeidMedAndreInstanserSidenOpprettelsen.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.SAMARB_PS
1313
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.SAMARB_SKOLE_A_COL_NAME
1414
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.SAMARB_SOS_A_COL_NAME
1515
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aColumnNames.SAMARB_STATB_A_COL_NAME
16-
import no.ssb.kostra.area.famvern.famvern52a.Familievern52aFieldDefinitions.fieldDefinitions
1716
import no.ssb.kostra.program.KostraRecord
18-
import no.ssb.kostra.program.extension.byColumnName
19-
import no.ssb.kostra.program.extension.codeExists
2017
import no.ssb.kostra.validation.report.Severity
2118
import no.ssb.kostra.validation.rule.AbstractNoArgsRule
2219

@@ -27,15 +24,14 @@ class Rule032SamarbeidMedAndreInstanserSidenOpprettelsen :
2724
) {
2825
override fun validate(context: List<KostraRecord>) =
2926
context
30-
.filterNot {
31-
fields.any { field ->
32-
fieldDefinitions.byColumnName(field).codeExists(it[field])
33-
}
27+
.filter {
28+
(it[SAMARB_INGEN_A_COL_NAME] == "1" && fields.any { field -> it[field] == "1" }) ||
29+
(it[SAMARB_INGEN_A_COL_NAME] == " " && fields.none { field -> it[field] == "1" })
3430
}.map {
3531
createValidationReportEntry(
3632
messageText =
3733
"Det er ikke krysset av for om det har vært samarbeid med andre " +
38-
"instanser siden saken ble opprettet. Feltet er obligatorisk å fylle ut.",
34+
"instanser siden saken ble opprettet. Feltet er obligatorisk å fylle ut.",
3935
lineNumbers = listOf(it.lineNumber),
4036
).copy(
4137
caseworker = it[KONTOR_NR_A_COL_NAME],
@@ -46,7 +42,6 @@ class Rule032SamarbeidMedAndreInstanserSidenOpprettelsen :
4642
companion object {
4743
private val fields =
4844
listOf(
49-
SAMARB_INGEN_A_COL_NAME,
5045
SAMARB_LEGE_A_COL_NAME,
5146
SAMARB_HELSE_A_COL_NAME,
5247
SAMARB_PSYKH_A_COL_NAME,

kontroller/src/test/kotlin/no/ssb/kostra/validation/rule/famvern/FileDescriptionOutputTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class FileDescriptionOutputTest : BehaviorSpec({
2727
.enable(YAMLGenerator.Feature.INDENT_ARRAYS_WITH_INDICATOR)
2828
.enable(YAMLGenerator.Feature.MINIMIZE_QUOTES)
2929
.disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER)
30-
val mapper = ObjectMapper(factory).setSerializationInclusion(JsonInclude.Include.NON_NULL)
30+
val mapper = ObjectMapper(factory)
3131
val fileName = "src/main/resources/file_description_$id.yaml"
3232
val fileDescription = FileDescription(
3333
title = title,

kontroller/src/test/kotlin/no/ssb/kostra/validation/rule/famvern/famvern52a/Rule032SamarbeidMedAndreInstanserSidenOpprettelsenTest.kt

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,29 +12,37 @@ class Rule032SamarbeidMedAndreInstanserSidenOpprettelsenTest : BehaviorSpec({
1212
sut = Rule032SamarbeidMedAndreInstanserSidenOpprettelsen(),
1313
expectedSeverity = Severity.WARNING,
1414
ForAllRowItem(
15-
"valid count",
16-
kostraRecordInTest("1"),
15+
"No cooperation is checked, other is unchecked",
16+
kostraRecordInTest("1", " "),
1717
),
1818
ForAllRowItem(
19-
"missing count",
20-
kostraRecordInTest(" "),
19+
"No cooperation is checked, but other is also checked",
20+
kostraRecordInTest("1", "1"),
2121
expectedErrorMessage = "Det er ikke krysset av for om det har vært samarbeid med andre " +
2222
"instanser siden saken ble opprettet. Feltet er obligatorisk å fylle ut.",
2323
),
2424
ForAllRowItem(
25-
"invalid count, illegal characters",
26-
kostraRecordInTest("X"),
25+
"No cooperation is unchecked, other is checked",
26+
kostraRecordInTest(" ", "1"),
27+
),
28+
ForAllRowItem(
29+
"No cooperation is unchecked, but other is also unchecked",
30+
kostraRecordInTest(" ", " "),
2731
expectedErrorMessage = "Det er ikke krysset av for om det har vært samarbeid med andre " +
2832
"instanser siden saken ble opprettet. Feltet er obligatorisk å fylle ut.",
2933
),
3034
)
3135
)
3236
}) {
3337
companion object {
34-
private fun kostraRecordInTest(count: String) = listOf(
35-
Familievern52aTestUtils.familievernRecordInTest(
36-
mapOf(Familievern52aColumnNames.SAMARB_INGEN_A_COL_NAME to count)
38+
private fun kostraRecordInTest(cooperation: String, other: String) =
39+
listOf(
40+
Familievern52aTestUtils.familievernRecordInTest(
41+
mapOf(
42+
Familievern52aColumnNames.SAMARB_INGEN_A_COL_NAME to cooperation,
43+
Familievern52aColumnNames.SAMARB_LEGE_A_COL_NAME to other
44+
)
45+
)
3746
)
38-
)
3947
}
4048
}

0 commit comments

Comments
 (0)