Skip to content

Commit

Permalink
refaktorerer getBrukerensAlderPlus1Maaned funksjonen og legger til fe…
Browse files Browse the repository at this point in the history
…lere tester
  • Loading branch information
mlp73 committed Feb 13, 2025
1 parent 0659c78 commit 24b18c5
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,7 @@ import {
} from '@/state/userInput/selectors'
import {
DEFAULT_MAX_OPPTJENINGSALDER,
isAlderOverAnnenAlder,
transformAlderToString,
transformFoedselsdatoToAlder,
} from '@/utils/alder'
import { DATE_BACKEND_FORMAT, DATE_ENDUSER_FORMAT } from '@/utils/dates'
import {
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Beregning/__tests__/BeregningEnkel.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ describe('BeregningEnkel', () => {
const buttons = screen.getAllByRole('button')
expect(buttons).toHaveLength(13)
expect(buttons[1]).toHaveTextContent(
'64 alder.aar string.og 5 alder.md'
'64 alder.aar string.og 6 alder.md'
)
vi.setSystemTime(new Date())
vi.useRealTimers()
Expand Down
37 changes: 34 additions & 3 deletions src/utils/__tests__/alder.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -310,21 +310,52 @@ describe('alder-utils', () => {
expect(expectedAlder).toStrictEqual(nedreAldersgrense)
})

it('returnerer alderen til personen når alderen + 1 mnd er over nedre aldersgrense', () => {
it('returnerer alderen til personen + 1 måned når alderen er over nedre aldersgrense', () => {
vi.useFakeTimers().setSystemTime(new Date('2025-01-04'))
const mock_person = {
...person,
foedselsdato: '1960-01-01',
}
// Brukeren er 65 år og 0 md
const expectedAlder = getBrukerensAlderPlus1Maaned(
mock_person,
nedreAldersgrense
)
expect(expectedAlder).toStrictEqual({ aar: 65, maaneder: 0 })
expect(expectedAlder).toStrictEqual({ aar: 65, maaneder: 1 })
vi.useRealTimers()
})

it('returnerer nedre aldersgrense når alderen + 1 mnd er under nedre aldersgrense', () => {
it('returnerer nedre aldersgrense når alderen er lik nedre aldersgrense', () => {
vi.useFakeTimers().setSystemTime(new Date('2025-01-01'))
const mock_person = {
...person,
foedselsdato: '1963-01-01',
}
// Brukeren er 62 år og 0 md
const expectedAlder = getBrukerensAlderPlus1Maaned(
mock_person,
nedreAldersgrense
)
expect(expectedAlder).toStrictEqual({ aar: 62, maaneder: 0 })
vi.useRealTimers()
})

it('returnerer alderen til personen + 1 måned når alderen er nedre aldersgrense + 1 måned', () => {
vi.useFakeTimers().setSystemTime(new Date('2025-01-01'))
const mock_person = {
...person,
foedselsdato: '1962-12-01',
}
// Brukeren er 62 år og 1 md
const expectedAlder = getBrukerensAlderPlus1Maaned(
mock_person,
nedreAldersgrense
)
expect(expectedAlder).toStrictEqual({ aar: 62, maaneder: 2 })
vi.useRealTimers()
})

it('returnerer nedre aldersgrense når alderen er under nedre aldersgrense', () => {
const mock_person = {
...person,
foedselsdato: '1970-01-01',
Expand Down
11 changes: 6 additions & 5 deletions src/utils/alder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,12 @@ export const getBrukerensAlderPlus1Maaned = (
nedreAldersgrense: Alder
): Alder => {
const brukerensAlder = person
? transformFoedselsdatoToAlderMinus1md(person.foedselsdato)
: getAlderMinus1Maaned(nedreAldersgrense)
const beregnetMinAlder = getAlderPlus1Maaned(brukerensAlder)
return isAlderOverAnnenAlder(beregnetMinAlder, nedreAldersgrense)
? beregnetMinAlder
? transformFoedselsdatoToAlder(person?.foedselsdato)
: undefined

return brukerensAlder &&
isAlderOverAnnenAlder(brukerensAlder, nedreAldersgrense)
? getAlderPlus1Maaned(brukerensAlder)
: nedreAldersgrense
}

Expand Down

0 comments on commit 24b18c5

Please sign in to comment.