Skip to content

Commit

Permalink
Merge branch 'main' into magicbox
Browse files Browse the repository at this point in the history
  • Loading branch information
Lucas8448 committed Feb 11, 2025
2 parents a7d3e23 + df14608 commit bb255b8
Show file tree
Hide file tree
Showing 5 changed files with 95 additions and 57 deletions.
74 changes: 72 additions & 2 deletions cypress/e2e/pensjon/kalkulator/hovedhistorie.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,14 +108,17 @@ describe('Hovedhistorie', () => {
})
})

describe('Gitt at jeg som bruker er registrert med en annen sivilstand enn gift, registrert partner eller samboer,', () => {
describe('Som bruker som er registrert med en annen sivilstand enn gift, registrert partner eller samboer,', () => {
describe('Når jeg navigerer videre fra /start til neste steg,', () => {
beforeEach(() => {
cy.login()
cy.contains('button', 'Kom i gang').click()
})
it('forventer jeg å få muligheten til å endre sivilstand for å få riktig beregning.', () => {
it('forventer jeg informasjon om hvilken sivilstand jeg er registrert med.', () => {
cy.contains('h2', 'Sivilstand').should('exist')
cy.get('select[name="sivilstand"]').should('have.value', 'UGIFT')
})
it('forventer jeg å få muligheten til å endre sivilstand for å få riktig beregning.', () => {
cy.get('select[name="sivilstand"]').select('GIFT')
cy.contains('button', 'Neste').click()
cy.contains(
Expand All @@ -137,6 +140,73 @@ describe('Hovedhistorie', () => {
})
})

describe('Som bruker som har sivilstand gift, registrert partner eller samboer,', () => {
describe('Når jeg navigerer videre fra /start til neste steg,', () => {
beforeEach(() => {
cy.intercept(
{ method: 'GET', url: '/pensjon/kalkulator/api/v4/person' },
{
navn: 'Aprikos',
sivilstand: 'GIFT',
foedselsdato: '1963-04-30',
pensjoneringAldre: {
normertPensjoneringsalder: {
aar: 67,
maaneder: 0,
},
nedreAldersgrense: {
aar: 62,
maaneder: 0,
},
},
}
).as('getPerson')
cy.login()
cy.contains('button', 'Kom i gang').click()
})
it('forventer jeg informasjon om hvilken sivilstand jeg er registrert med.', () => {
cy.contains('h2', 'Sivilstand').should('exist')
cy.get('select[name="sivilstand"]').should('have.value', 'GIFT')
})
it('forventer jeg å få muligheten til å endre sivilstand for å få riktig beregning.', () => {
cy.get('select[name="sivilstand"]').select('UGIFT')
cy.contains('button', 'Neste').click()
})
it('forventer jeg å måtte oppgi om E/P/S mottar pensjon, uføretrygd eller AFP.', () => {
cy.get('select[name="sivilstand"]').should('have.value', 'GIFT')
cy.get('[type="radio"]')
.first()
.check({ force: true })
.should('be.checked')
cy.contains('button', 'Neste').click()
})
it('forventer jeg å måtte oppgi om E/P/S har inntekt over 2G når bruker har svart "nei" på at EPS har pensjon.', () => {
cy.get('select[name="sivilstand"]').should('have.value', 'GIFT')
cy.get('[type="radio"][name="epsHarPensjon"][value="nei"]')
.check({ force: true })
.should('be.checked')
cy.contains('button', 'Neste').click()
cy.contains(
'Du må svare på om ektefellen din vil ha inntekt over 2G.'
).should('exist')
cy.get('[type="radio"][name="epsHarInntektOver2G"][value="ja"]')
.check({ force: true })
.should('be.checked')
cy.contains('button', 'Neste').click()
cy.contains(
'Du må svare på om ektefellen din vil ha inntekt over 2G.'
).should('not.exist')
})
it('ønsker jeg å kunne gå tilbake til forrige steg, eller avbryte beregningen.', () => {
cy.contains('button', 'Tilbake').click()
cy.location('href').should('include', '/pensjon/kalkulator/start')
cy.go('forward')
cy.contains('button', 'Avbryt').click()
cy.location('href').should('include', '/pensjon/kalkulator/login')
})
})
})

describe('Når jeg navigerer videre fra sivilstand til neste steg,', () => {
beforeEach(() => {
cy.intercept(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
} from '@/state/userInput/selectors'
import { formatUttaksalder, transformUttaksalderToDate } from '@/utils/alder'
import { formatInntekt } from '@/utils/inntekt'
import { logger, wrapLogger } from '@/utils/logging'
import { wrapLogger } from '@/utils/logging'
interface Props {
onButtonClick: () => void
}
Expand All @@ -40,11 +40,6 @@ export const ResultatkortAvansertBeregning: React.FC<Props> = ({
className={styles.card}
aria-labelledby="expansion-card-label"
size="small"
onClick={() => {
logger('button klikk', {
tekst: 'Resultatkort: Åpne/lukke',
})
}}
>
<ExpansionCardAksel.Header>
<ExpansionCardAksel.Title id="expansion-card-label" size="small">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ describe('ResultatkortAvansertBeregning', () => {
expect(
await screen.findByText('beregning.avansert.resultatkort.description')
).toBeVisible()
await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))
expect(
await screen.findByText('beregning.avansert.resultatkort.frem_til_uttak')
).toBeVisible()
Expand Down Expand Up @@ -117,7 +117,7 @@ describe('ResultatkortAvansertBeregning', () => {
)
await store.dispatch(apiSlice.endpoints.getPerson.initiate())
await store.dispatch(apiSlice.endpoints.getInntekt.initiate())
await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))
expect(
await screen.findByText('67 alder.aar', {
exact: false,
Expand Down Expand Up @@ -158,7 +158,7 @@ describe('ResultatkortAvansertBeregning', () => {
)
await store.dispatch(apiSlice.endpoints.getPerson.initiate())
await store.dispatch(apiSlice.endpoints.getInntekt.initiate())
await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))
expect(
await screen.findByText('67 alder.aar', {
exact: false,
Expand Down Expand Up @@ -213,7 +213,7 @@ describe('ResultatkortAvansertBeregning', () => {
)
await store.dispatch(apiSlice.endpoints.getPerson.initiate())
await store.dispatch(apiSlice.endpoints.getInntekt.initiate())
await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))
expect(
await screen.findByText('65 alder.aar string.og 3 alder.md', {
exact: false,
Expand Down
51 changes: 12 additions & 39 deletions src/components/common/ExpansionCard/ExpansionCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import {
import { logger } from '@/utils/logging'
interface IProps {
name: string
onClick?: () => void
open?: boolean
}

const logIsOpen = (name: string, isOpen: boolean) => {
Expand All @@ -23,41 +21,16 @@ const logIsOpen = (name: string, isOpen: boolean) => {
export const ExpansionCard: React.FC<ExpansionCardProps & IProps> = ({
name,
children,
open,
onClick,
onToggle,
...rest
}) => {
const toggleOpenReducer: React.ReducerWithoutAction<boolean> = (
prevIsOpen
) => {
const nextIsOpen = !prevIsOpen
logIsOpen(name, nextIsOpen)
return nextIsOpen
}

const [isOpen, toggleOpen] = React.useReducer(toggleOpenReducer, false)

const isControlled = React.useMemo(
() => open !== undefined && !!onClick,
[open, onClick]
)

const wrappedOnClick = React.useCallback(() => {
// Inversert da det er en antagelse at onClick endrer state
logIsOpen(name, !open as boolean)
if (onClick) {
onClick()
}
}, [onClick])

return (
<ExpansionCardAksel
data-testid="expansioncard"
open={isControlled ? open : isOpen}
onClick={isControlled ? wrappedOnClick : toggleOpen}
{...rest}
>
{children}
</ExpansionCardAksel>
)
}
}) => (
<ExpansionCardAksel
onToggle={(newIsOpen) => {
logIsOpen(name, newIsOpen)
onToggle?.(newIsOpen)
}}
{...rest}
>
{children}
</ExpansionCardAksel>
)
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ describe('ExpansionCard', () => {
</ExpansionCard>
)

await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))

expect(loggerSpy).toHaveBeenNthCalledWith(
1,
'expansion card åpnet',
expect.any(Object)
)

await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))

expect(loggerSpy).toHaveBeenNthCalledWith(
2,
Expand All @@ -53,7 +53,7 @@ describe('ExpansionCard', () => {
name="name"
aria-labelledby="expansion-card-label"
open={isOpen}
onClick={toggleOpen}
onToggle={toggleOpen}
>
<ExpansionCardAksel.Header>
<ExpansionCardAksel.Title id="expansion-card-label" size="small">
Expand All @@ -66,7 +66,7 @@ describe('ExpansionCard', () => {
</ExpansionCard>
)

await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))

expect(loggerSpy).toHaveBeenNthCalledWith(
1,
Expand All @@ -85,7 +85,7 @@ describe('ExpansionCard', () => {
name="name"
aria-labelledby="expansion-card-label"
open={isOpen}
onClick={toggleOpen}
onToggle={toggleOpen}
>
<ExpansionCardAksel.Header>
<ExpansionCardAksel.Title id="expansion-card-label" size="small">
Expand All @@ -98,7 +98,7 @@ describe('ExpansionCard', () => {
</ExpansionCard>
)

await user.click(screen.getByTestId('expansioncard'))
await user.click(screen.getByRole('button', { name: 'Vis mer' }))

expect(loggerSpy).toHaveBeenNthCalledWith(
1,
Expand Down

0 comments on commit bb255b8

Please sign in to comment.