Skip to content

Commit f31f551

Browse files
authored
Merge pull request #267 from navikt/store-saksnummer-in-session-storage
Add userSaksnummer to klageStore
2 parents 66bc74b + 8f5d626 commit f31f551

File tree

3 files changed

+40
-22
lines changed

3 files changed

+40
-22
lines changed

src/klage/klage-store.test.ts

+29-17
Original file line numberDiff line numberDiff line change
@@ -24,67 +24,73 @@ describe('Klage store', () => {
2424
const klageStore = new KlageStorage(storage);
2525
const expectedFritekst = 'fritekst';
2626
const expectedVedtakDate = '2020-12-31';
27+
const expectedUserSaksnummer = '123';
2728
const expectedReasons = [Reason.AVSLAG_PAA_SOKNAD];
2829

29-
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate);
30+
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate, expectedUserSaksnummer);
3031

3132
const fritekst = klageStore.getFritekst();
3233
const reasons = klageStore.getReasons();
3334
const isoDate = klageStore.getVedtakDate();
35+
const userSaksnummer = klageStore.getUserSaksnummer();
3436

3537
expect(fritekst).toBe(expectedFritekst);
3638
expect(reasons).toStrictEqual(expectedReasons);
3739
expect(isoDate).toBe(expectedVedtakDate);
40+
expect(userSaksnummer).toBe(expectedUserSaksnummer);
3841
});
3942

40-
it('Should overwrite klage when fritekst is different, vedtak is equal, and klage status is DRAFT', () => {
43+
it('Should overwrite klage when only fritekst is different, and klage status is DRAFT', () => {
4144
const storage = new MockStorage();
4245
const klageStore = new KlageStorage(storage);
4346
const expectedFritekst = 'a new and better fritekst';
4447
const expectedVedtakDate = '2020-12-31';
48+
const expectedUserSaksnummer = '123';
4549
const expectedReasons = [Reason.AVSLAG_PAA_SOKNAD];
4650

47-
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate);
51+
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate, expectedUserSaksnummer);
4852

4953
const klage: Klage = {
5054
...BASE_KLAGE,
5155
status: KlageStatus.DRAFT,
52-
fritekst: 'old and poor fritekst',
56+
fritekst: 'old and outdated fritekst, should be restored to what is stored.',
5357
checkboxesSelected: expectedReasons,
54-
vedtakDate: expectedVedtakDate
58+
vedtakDate: expectedVedtakDate,
59+
userSaksnummer: expectedUserSaksnummer
5560
};
5661
const expectedKlage: Klage = {
5762
...klage,
5863
fritekst: expectedFritekst,
5964
checkboxesSelected: expectedReasons,
60-
vedtakDate: expectedVedtakDate
65+
vedtakDate: expectedVedtakDate,
66+
userSaksnummer: expectedUserSaksnummer
6167
};
6268
const restoredKlage = klageStore.restore(klage);
6369

6470
expect(restoredKlage).not.toBe(expectedKlage);
6571
expect(restoredKlage).toStrictEqual(expectedKlage);
6672
});
6773

68-
it('Should overwrite klage when fritekst is equal, vedtak is different, and klage status is DRAFT', () => {
74+
it('Should overwrite klage when only vedtak date is different, and klage status is DRAFT', () => {
6975
const storage = new MockStorage();
7076
const klageStore = new KlageStorage(storage);
7177
const expectedFritekst = 'fritekst';
7278
const expectedVedtakDate = '2020-12-31';
79+
const expectedUserSaksnummer = '123';
7380
const expectedReasons = [Reason.AVSLAG_PAA_SOKNAD];
7481

75-
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate);
82+
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate, expectedUserSaksnummer);
7683

7784
const klage: Klage = {
7885
...BASE_KLAGE,
7986
status: KlageStatus.DRAFT,
8087
fritekst: expectedFritekst,
81-
checkboxesSelected: [],
82-
vedtakDate: null
88+
checkboxesSelected: expectedReasons,
89+
vedtakDate: null,
90+
userSaksnummer: expectedUserSaksnummer
8391
};
8492
const expectedKlage: Klage = {
8593
...klage,
86-
fritekst: expectedFritekst,
87-
checkboxesSelected: expectedReasons,
8894
vedtakDate: expectedVedtakDate
8995
};
9096
const restoredKlage = klageStore.restore(klage);
@@ -98,14 +104,16 @@ describe('Klage store', () => {
98104
const klageStore = new KlageStorage(storage);
99105
const expectedFritekst = 'fritekst';
100106
const expectedVedtakDate = '2020-12-31';
107+
const expectedUserSaksnummer = '123';
101108
const expectedReasons = [Reason.AVSLAG_PAA_SOKNAD];
102109

103110
const expectedKlage: Klage = {
104111
...BASE_KLAGE,
105112
status: KlageStatus.DRAFT,
106113
fritekst: expectedFritekst,
107114
checkboxesSelected: expectedReasons,
108-
vedtakDate: expectedVedtakDate
115+
vedtakDate: expectedVedtakDate,
116+
userSaksnummer: expectedUserSaksnummer
109117
};
110118
const restoredKlage = klageStore.restore(expectedKlage);
111119

@@ -117,16 +125,18 @@ describe('Klage store', () => {
117125
const klageStore = new KlageStorage(storage);
118126
const expectedFritekst = 'fritekst';
119127
const expectedVedtakDate = '2020-12-31';
128+
const expectedUserSaksnummer = '123';
120129
const expectedReasons = [Reason.AVSLAG_PAA_SOKNAD];
121130

122-
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate);
131+
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate, expectedUserSaksnummer);
123132

124133
const expectedKlage: Klage = {
125134
...BASE_KLAGE,
126135
status: KlageStatus.DRAFT,
127136
fritekst: expectedFritekst,
128137
checkboxesSelected: expectedReasons,
129-
vedtakDate: expectedVedtakDate
138+
vedtakDate: expectedVedtakDate,
139+
userSaksnummer: expectedUserSaksnummer
130140
};
131141
const restoredKlage = klageStore.restore(expectedKlage);
132142

@@ -138,16 +148,18 @@ describe('Klage store', () => {
138148
const klageStore = new KlageStorage(storage);
139149
const expectedFritekst = 'fritekst';
140150
const expectedVedtakDate = '2020-12-31';
151+
const expectedUserSaksnummer = '123';
141152
const expectedReasons = [Reason.AVSLAG_PAA_SOKNAD];
142153

143-
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate);
154+
klageStore.store(expectedFritekst, expectedReasons, expectedVedtakDate, expectedUserSaksnummer);
144155

145156
const expectedKlage: Klage = {
146157
...BASE_KLAGE,
147158
status: KlageStatus.DONE,
148159
fritekst: 'outdated',
149160
checkboxesSelected: expectedReasons,
150-
vedtakDate: expectedVedtakDate
161+
vedtakDate: expectedVedtakDate,
162+
userSaksnummer: expectedUserSaksnummer
151163
};
152164
const restoredKlage = klageStore.restore(expectedKlage);
153165

src/klage/klage-store.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import { Klage, KlageStatus, Reason, reasonsMatch } from './klage';
44
export enum KLAGE_STORAGE_KEYS {
55
KLAGE_FRITEKST = 'KLAGE_FRITEKST',
66
KLAGE_VEDTAK_DATE = 'KLAGE_ISO_DATE',
7-
KLAGE_REASONS = 'KLAGE_DATE_OPTION'
7+
KLAGE_REASONS = 'KLAGE_DATE_OPTION',
8+
KLAGE_USER_SAKSNUMMER = 'KLAGE_USER_SAKSNUMMER'
89
}
910

1011
export class KlageStorage {
@@ -38,11 +39,13 @@ export class KlageStorage {
3839
public getReasons = () => this.getSerializedValue<Reason[]>(KLAGE_STORAGE_KEYS.KLAGE_REASONS);
3940
public getVedtakDate = () => this.storage.getItem(KLAGE_STORAGE_KEYS.KLAGE_VEDTAK_DATE);
4041
public getFritekst = () => this.storage.getItem(KLAGE_STORAGE_KEYS.KLAGE_FRITEKST);
42+
public getUserSaksnummer = () => this.storage.getItem(KLAGE_STORAGE_KEYS.KLAGE_USER_SAKSNUMMER);
4143

42-
public store(fritekst: string, reasons: Reason[], vedtakDate: ISODate | null) {
44+
public store(fritekst: string, reasons: Reason[], vedtakDate: ISODate | null, userSaksnummer: string | null) {
4345
this.setValue(KLAGE_STORAGE_KEYS.KLAGE_FRITEKST, fritekst);
4446
this.setValue(KLAGE_STORAGE_KEYS.KLAGE_REASONS, JSON.stringify(reasons));
4547
this.setValue(KLAGE_STORAGE_KEYS.KLAGE_VEDTAK_DATE, vedtakDate);
48+
this.setValue(KLAGE_STORAGE_KEYS.KLAGE_USER_SAKSNUMMER, userSaksnummer);
4649
}
4750

4851
public restore(klage: Klage): Klage {
@@ -52,10 +55,12 @@ export class KlageStorage {
5255
const fritekst = this.getFritekst();
5356
const reasons = this.getReasons();
5457
const vedtakDate = this.getVedtakDate();
58+
const userSaksnummer = this.getUserSaksnummer();
5559

5660
if (
5761
(reasons === null || reasonsMatch(reasons, klage.checkboxesSelected)) &&
5862
(vedtakDate === null || vedtakDate === klage.vedtakDate) &&
63+
(userSaksnummer === null || userSaksnummer === klage.userSaksnummer) &&
5964
(fritekst === null || fritekst === klage.fritekst)
6065
) {
6166
return klage;
@@ -65,7 +70,8 @@ export class KlageStorage {
6570
...klage,
6671
fritekst: fritekst ?? klage.fritekst,
6772
checkboxesSelected: reasons ?? klage.checkboxesSelected,
68-
vedtakDate: vedtakDate ?? klage.vedtakDate
73+
vedtakDate: vedtakDate ?? klage.vedtakDate,
74+
userSaksnummer: userSaksnummer ?? klage.userSaksnummer
6975
};
7076
}
7177

src/routes/klageskjema/begrunnelse/begrunnelse.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ const Begrunnelse = ({ klage }: Props) => {
6464
return true;
6565
} catch (error) {
6666
setAutosaveStatus(AutosaveStatus.FAILED);
67-
klageStore.store(fritekst, reasons, vedtakDate);
67+
klageStore.store(fritekst, reasons, vedtakDate, userSaksnummer);
6868
setError(error);
6969
return false;
7070
}
@@ -104,7 +104,7 @@ const Begrunnelse = ({ klage }: Props) => {
104104
};
105105

106106
const storeKlageAndLogIn = () => {
107-
klageStore.store(fritekst, reasons, vedtakDate);
107+
klageStore.store(fritekst, reasons, vedtakDate, userSaksnummer);
108108
login();
109109
};
110110

0 commit comments

Comments
 (0)