Skip to content

Commit 185816c

Browse files
authored
Refaktorerer SøknadInfo. (#439)
- Renamer SøknadInfo til InnsendingInfo. - Legger til InnsendingType for å indikere søknad eller ettersendelse. - Renamer feltet søknader til innsendinger, med støtte for gammelt navn.
1 parent 164bec7 commit 185816c

File tree

5 files changed

+106
-24
lines changed

5 files changed

+106
-24
lines changed

innsyn/src/main/java/no/nav/k9/innsyn/sak/Behandling.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@
44
import java.util.Set;
55
import java.util.UUID;
66

7-
import com.fasterxml.jackson.annotation.JsonAutoDetect;
8-
import com.fasterxml.jackson.annotation.JsonFormat;
9-
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
10-
import com.fasterxml.jackson.annotation.JsonInclude;
11-
import com.fasterxml.jackson.annotation.JsonProperty;
12-
import com.fasterxml.jackson.annotation.JsonTypeName;
7+
import com.fasterxml.jackson.annotation.*;
138

149
import jakarta.validation.Valid;
1510
import jakarta.validation.constraints.NotNull;
@@ -44,10 +39,11 @@ public record Behandling(
4439
@NotNull
4540
BehandlingStatus status,
4641

47-
@JsonProperty(value = "søknader", required = true)
42+
@JsonProperty(value = "innsendinger", required = true)
43+
@JsonAlias(value = "søknader")
4844
@Valid
4945
@NotNull
50-
Set<SøknadInfo> søknader,
46+
Set<InnsendingInfo> innsendinger,
5147

5248
@JsonProperty(value = "aksjonspunkter", required = true)
5349
@Valid

innsyn/src/main/java/no/nav/k9/innsyn/sak/SøknadInfo.java renamed to innsyn/src/main/java/no/nav/k9/innsyn/sak/InnsendingInfo.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212
import no.nav.k9.søknad.felles.DtoKonstanter;
1313
import no.nav.k9.søknad.felles.Kildesystem;
1414

15-
public record SøknadInfo(
15+
public record InnsendingInfo(
1616

1717
@JsonProperty(value = "status", required = true)
1818
@Valid
1919
@NotNull
20-
SøknadStatus status,
20+
InnsendingStatus status,
2121

2222
@JsonProperty(value = "journalpostId", required = true)
2323
@Valid
@@ -34,7 +34,10 @@ public record SøknadInfo(
3434

3535
@Valid
3636
@JsonProperty(value = "kildesystem")
37-
Kildesystem kildesystem
37+
Kildesystem kildesystem,
3838

39+
@Valid
40+
@JsonProperty(value = "type")
41+
InnsendingType type
3942
) {
4043
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package no.nav.k9.innsyn.sak;
22

3-
public enum SøknadStatus {
3+
public enum InnsendingStatus {
44
MOTTATT, BEHANDLET;
55
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package no.nav.k9.innsyn.sak;
2+
3+
public enum InnsendingType {
4+
SØKNAD, ETTERSENDELSE
5+
}

innsyn/src/test/java/no/nav/k9/innsyn/sak/BehandlingTest.java

Lines changed: 90 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ void kanLageOgLeseBehandlingInnholdHendelse() {
2929
}
3030

3131
@Test
32-
void deserialiserFraJsonString() {
32+
void deserialiserFraGammelJsonString() {
3333
//language=JSON
3434
final var jsonString = """
3535
{
@@ -84,14 +84,92 @@ void deserialiserFraJsonString() {
8484

8585

8686
// Søknader
87-
Set<SøknadInfo> søknader = behandling.søknader();
88-
assertThat(søknader).hasSize(1);
89-
SøknadInfo søknadInfo = søknader.stream().findFirst().get();
90-
assertThat(søknadInfo.status()).isEqualTo(SøknadStatus.MOTTATT);
91-
assertThat(søknadInfo.kildesystem()).isEqualTo(Kildesystem.SØKNADSDIALOG);
87+
Set<InnsendingInfo> innsendinger = behandling.innsendinger();
88+
assertThat(innsendinger).hasSize(1);
89+
InnsendingInfo innsendingInfo = innsendinger.stream().findFirst().get();
90+
assertThat(innsendingInfo.status()).isEqualTo(InnsendingStatus.MOTTATT);
91+
assertThat(innsendingInfo.kildesystem()).isEqualTo(Kildesystem.SØKNADSDIALOG);
9292

93-
assertThat(søknadInfo.journalpostId()).isEqualTo("f1b3f3c3-0b1a-4e4a-9b1a-3c3f3b1a4e4a");
94-
assertThat(søknadInfo.mottattTidspunkt()).isEqualTo(ZonedDateTime.parse("2021-06-01T12:00:00.000Z"));
93+
assertThat(innsendingInfo.journalpostId()).isEqualTo("f1b3f3c3-0b1a-4e4a-9b1a-3c3f3b1a4e4a");
94+
assertThat(innsendingInfo.mottattTidspunkt()).isEqualTo(ZonedDateTime.parse("2021-06-01T12:00:00.000Z"));
95+
96+
// Aksjonspunkter
97+
Set<Aksjonspunkt> aksjonspunkter = behandling.aksjonspunkter();
98+
assertThat(aksjonspunkter).hasSize(1);
99+
Aksjonspunkt aksjonspunkt = aksjonspunkter.stream().findFirst().get();
100+
assertThat(aksjonspunkt.venteårsak()).isEqualTo(Aksjonspunkt.Venteårsak.INNTEKTSMELDING);
101+
assertThat(aksjonspunkt.tidsfrist()).isEqualTo(ZonedDateTime.parse("2024-02-15T12:00:00.000Z"));
102+
103+
String json = JsonUtils.toString(hendelse);
104+
assertThat(json).doesNotContain("kodeverk");
105+
}
106+
107+
@Test
108+
void deserialiserFraNyJsonString() {
109+
//language=JSON
110+
final var jsonString = """
111+
{
112+
"oppdateringstidspunkt": "2021-06-01T12:00:00.000Z",
113+
"data": {
114+
"type": "BEHANDLING_INNHOLD",
115+
"behandlingsId": "f1b3f3c3-0b1a-4e4a-9b1a-3c3f3b1a4e4a",
116+
"opprettetTidspunkt": "2024-02-13T12:00:00.000Z",
117+
"fagsak": {
118+
"saksnummer": "ABC123",
119+
"søkerAktørId": "11111111111",
120+
"pleietrengendeAktørId": "22222222222",
121+
"ytelseType": "PSB"
122+
},
123+
"status": "OPPRETTET",
124+
"erUtenlands": "false",
125+
"avsluttetTidspunkt": "2024-02-14T12:00:00.000Z",
126+
"behandlingResultat": "INNVILGET",
127+
"innsendinger": [
128+
{
129+
"status": "MOTTATT",
130+
"journalpostId": "f1b3f3c3-0b1a-4e4a-9b1a-3c3f3b1a4e4a",
131+
"mottattTidspunkt": "2021-06-01T12:00:00.000Z",
132+
"kildesystem": "søknadsdialog",
133+
"type": "SØKNAD"
134+
}
135+
],
136+
"aksjonspunkter": [
137+
{
138+
"venteårsak": "INNTEKTSMELDING",
139+
"tidsfrist": "2024-02-15T12:00:00.000Z"
140+
}
141+
]
142+
}
143+
}
144+
""";
145+
146+
final var hendelse = JsonUtils.fromString(jsonString, InnsynHendelse.class);
147+
final var behandling = (Behandling) hendelse.getData();
148+
final Fagsak saksinnhold = behandling.fagsak();
149+
150+
assertThat(saksinnhold.saksnummer().verdi()).isEqualTo("ABC123");
151+
assertThat(saksinnhold.søkerAktørId().id()).isEqualTo("11111111111");
152+
assertThat(saksinnhold.pleietrengendeAktørId().id()).isEqualTo("22222222222");
153+
154+
// behandlinger
155+
assertThat(behandling.status()).isEqualTo(BehandlingStatus.OPPRETTET);
156+
assertThat(behandling.erUtenlands()).isFalse();
157+
assertThat(behandling.opprettetTidspunkt()).isEqualTo(ZonedDateTime.parse("2024-02-13T12:00:00.000Z"));
158+
assertThat(behandling.avsluttetTidspunkt()).isEqualTo(ZonedDateTime.parse("2024-02-14T12:00:00.000Z"));
159+
assertThat(behandling.erUtenlands()).isFalse();
160+
assertThat(behandling.behandlingsId()).isEqualTo(UUID.fromString("f1b3f3c3-0b1a-4e4a-9b1a-3c3f3b1a4e4a"));
161+
162+
163+
// Søknader
164+
Set<InnsendingInfo> innsendinger = behandling.innsendinger();
165+
assertThat(innsendinger).hasSize(1);
166+
InnsendingInfo innsendingInfo = innsendinger.stream().findFirst().get();
167+
assertThat(innsendingInfo.status()).isEqualTo(InnsendingStatus.MOTTATT);
168+
assertThat(innsendingInfo.kildesystem()).isEqualTo(Kildesystem.SØKNADSDIALOG);
169+
assertThat(innsendingInfo.type()).isEqualTo(InnsendingType.SØKNAD);
170+
171+
assertThat(innsendingInfo.journalpostId()).isEqualTo("f1b3f3c3-0b1a-4e4a-9b1a-3c3f3b1a4e4a");
172+
assertThat(innsendingInfo.mottattTidspunkt()).isEqualTo(ZonedDateTime.parse("2021-06-01T12:00:00.000Z"));
95173

96174
// Aksjonspunkter
97175
Set<Aksjonspunkt> aksjonspunkter = behandling.aksjonspunkter();
@@ -110,17 +188,17 @@ private static Behandling lagBehandling() {
110188
}
111189

112190
private static Behandling lagBehandling(boolean erUtenlands, ZonedDateTime... søknadtidspunkter) {
113-
final Set<SøknadInfo> collect = Arrays.stream(søknadtidspunkter)
191+
final Set<InnsendingInfo> collect = Arrays.stream(søknadtidspunkter)
114192
.map(it -> lagSøknad(it, Kildesystem.SØKNADSDIALOG))
115193
.collect(Collectors.toSet());
116194
return lagBehandling(erUtenlands, collect);
117195
}
118196

119-
private static SøknadInfo lagSøknad(ZonedDateTime it, Kildesystem kilde) {
120-
return new SøknadInfo(SøknadStatus.MOTTATT, UUID.randomUUID().toString(), it, kilde);
197+
private static InnsendingInfo lagSøknad(ZonedDateTime it, Kildesystem kilde) {
198+
return new InnsendingInfo(InnsendingStatus.MOTTATT, UUID.randomUUID().toString(), it, kilde, InnsendingType.SØKNAD);
121199
}
122200

123-
private static Behandling lagBehandling(boolean erUtenlands, Set<SøknadInfo> søknader) {
201+
private static Behandling lagBehandling(boolean erUtenlands, Set<InnsendingInfo> søknader) {
124202

125203
Set<Aksjonspunkt> aksjonspunkter = Set.of(
126204
new Aksjonspunkt(Aksjonspunkt.Venteårsak.MEDISINSK_DOKUMENTASJON, ZonedDateTime.now())

0 commit comments

Comments
 (0)