Skip to content

Commit 479376b

Browse files
🚚 Flytter periode.ts inn i date.ts
Co-authored-by: Martin Solheim <[email protected]>
1 parent bc84a4c commit 479376b

File tree

5 files changed

+44
-49
lines changed

5 files changed

+44
-49
lines changed

src/routes/saksbilde/utbetaling/utbetalingstabell/minimumSykdomsgrad/minimumSykdomsgrad.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ import { overlapper } from '@state/selectors/period';
2121
import { useAddToast, useRemoveToast } from '@state/toasts';
2222
import { MinimumSykdomsgradArbeidsgiver, OverstyrtMinimumSykdomsgradDTO } from '@typer/overstyring';
2323
import { ActivePeriod, DatePeriod } from '@typer/shared';
24-
import { ISO_DATOFORMAT, minusEnDag, plussEnDag } from '@utils/date';
25-
import { erEtter, erFør, erIPeriode } from '@utils/periode';
24+
import { ISO_DATOFORMAT, erEtter, erFør, erIPeriode, minusEnDag, plussEnDag } from '@utils/date';
2625
import { isBeregnetPeriode, isNotNullOrUndefined, isUberegnetPeriode } from '@utils/typeguards';
2726

2827
export const usePostOverstyringMinimumSykdomsgrad = (onFerdigKalkulert: () => void) => {

src/utils/date.test.ts

+35
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1+
import { DatePeriod, DateString } from '@typer/shared';
12
import {
23
ISO_DATOFORMAT,
4+
erEtter,
5+
erFør,
6+
erIPeriode,
37
getFormattedDateString,
48
getFormattedDatetimeString,
59
minusEnDag,
@@ -35,3 +39,34 @@ describe('date', () => {
3539
expect(minusEnDag('2020-01-02')).toBe('2020-01-01');
3640
});
3741
});
42+
43+
describe('periode', () => {
44+
it('skal identifisere dato innenfor periode', () => {
45+
const periode: DatePeriod = { fom: '2020-01-02', tom: '2020-01-30' };
46+
const datoInnenfor: DateString = '2020-01-02';
47+
const datoFør: DateString = '2020-01-01';
48+
const datoEtter: DateString = '2020-01-31';
49+
50+
expect(erIPeriode(datoInnenfor, periode)).toBeTruthy();
51+
expect(erIPeriode(datoFør, periode)).toBeFalsy();
52+
expect(erIPeriode(datoEtter, periode)).toBeFalsy();
53+
});
54+
it('skal identifisere dato etter dato', () => {
55+
const baseDato: DateString = '2020-01-02';
56+
const datoFør: DateString = '2020-01-01';
57+
const datoEtter: DateString = '2020-01-03';
58+
59+
expect(erEtter(datoFør, baseDato)).toBeFalsy();
60+
expect(erEtter(baseDato, baseDato)).toBeFalsy();
61+
expect(erEtter(datoEtter, baseDato)).toBeTruthy();
62+
});
63+
it('skal identifisere dato før dato', () => {
64+
const baseDato: DateString = '2020-01-02';
65+
const datoFør: DateString = '2020-01-01';
66+
const datoEtter: DateString = '2020-01-03';
67+
68+
expect(erFør(datoFør, baseDato)).toBeTruthy();
69+
expect(erFør(baseDato, baseDato)).toBeFalsy();
70+
expect(erFør(datoEtter, baseDato)).toBeFalsy();
71+
});
72+
});

src/utils/date.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import dayjs, { Dayjs } from 'dayjs';
22

33
import { Maybe } from '@io/graphql';
4-
import { DateString } from '@typer/shared';
4+
import { DatePeriod, DateString } from '@typer/shared';
55

66
export const NORSK_DATOFORMAT_MED_KLOKKESLETT = 'DD.MM.YYYY kl. HH.mm';
77
export const NORSK_DATOFORMAT = 'DD.MM.YYYY';
@@ -28,3 +28,10 @@ export const plussEnDag = (dato: DateString): DateString =>
2828

2929
export const minusEnDag = (dato: DateString): DateString =>
3030
dayjs(dato, ISO_DATOFORMAT, true).subtract(1, 'day').format(ISO_DATOFORMAT);
31+
32+
export const erIPeriode = (dato: DateString, periode: DatePeriod) =>
33+
dayjs(dato, ISO_DATOFORMAT, true).isBetween(periode.fom, periode.tom, 'day', '[]');
34+
export const erEtter = (dato: DateString, tidligst: DateString) =>
35+
dayjs(dato, ISO_DATOFORMAT, true).isAfter(dayjs(tidligst, ISO_DATOFORMAT, true));
36+
export const erFør = (dato: DateString, senest: DateString) =>
37+
dayjs(dato, ISO_DATOFORMAT, true).isBefore(dayjs(senest, ISO_DATOFORMAT, true));

src/utils/periode.test.ts

-33
This file was deleted.

src/utils/periode.ts

-13
This file was deleted.

0 commit comments

Comments
 (0)