Skip to content

Commit

Permalink
testfiks etter merge frå master.
Browse files Browse the repository at this point in the history
I Utenlandsopphold.tsx er prop erstatta med bruk av context.

Legger inn render wrapperfunksjon som legger til nødvendige mockdata i context rundt komponent som testast.
  • Loading branch information
josstn committed Jul 24, 2024
1 parent 267944b commit d9a53b9
Showing 1 changed file with 31 additions and 10 deletions.
41 changes: 31 additions & 10 deletions packages/fakta-utenlandsopphold/src/Utenlandsopphold.spec.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,32 @@
import { screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
import React, { ReactElement } from 'react';

import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils';
import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/context/KodeverkContext.js';
import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/hooks/useKodeverkContext.js';
// eslint-disable-next-line import/no-relative-packages
import utenlandsoppholdMock from '../../mocks/mockdata/utenlandsoppholdMock';
import utenlandsoppholdMock, { utenlandsoppholdÅrsakMock } from '../../mocks/mockdata/utenlandsoppholdMock';

import Utenlandsopphold from './Utenlandsopphold';

// Wrapper som legger til utenlandsoppholdÅrsakMock til kodeverk context for nokon av testane her.
const renderWithUtenlandsoppholdContextMock = (ui: ReactElement, ...renderOptions) => {
const Wrapper = ({ children }) => {
const { UtenlandsoppholdÅrsak } = utenlandsoppholdÅrsakMock;
const parentKodeverk = useKodeverkContext();
const mockKodeverk = {
...parentKodeverk,
kodeverk: {
...parentKodeverk.kodeverk,
UtenlandsoppholdÅrsak,
},
};
return <KodeverkProvider {...mockKodeverk}>{children}</KodeverkProvider>;
};
return renderWithIntl(ui, { wrapper: Wrapper, ...renderOptions });
};

describe('Utenlandsopphold', () => {
test('har utenlandsopphold som tittel', () => {
renderWithIntl(<Utenlandsopphold utenlandsopphold={utenlandsoppholdMock} />);
Expand Down Expand Up @@ -36,16 +55,17 @@ describe('Utenlandsopphold', () => {
expect(screen.getByText('Periode telles ikke.')).toBeVisible();
});

test('land utenfor EØS vises med merknad', ({ skip }) => {
renderWithIntl(<Utenlandsopphold utenlandsopphold={{ perioder: [utenlandsoppholdMock.perioder[1]] }} />);
test('land utenfor EØS vises med merknad', () => {
renderWithUtenlandsoppholdContextMock(
<Utenlandsopphold utenlandsopphold={{ perioder: [utenlandsoppholdMock.perioder[1]] }} />,
);

expect(screen.getByText('Land')).toBeVisible();
expect(screen.getByText('Kina')).toBeVisible();
expect(screen.getByText('EØS')).toBeVisible();
expect(screen.getByText('Nei')).toBeVisible();
expect(screen.getByText('Merknad til utenlandsopphold')).toBeVisible();
// Siste linje deaktivert etter kodeverk merge frå master. TODO Må finne ny måte å mocke inn utenlandsopphold årsak data
// expect(screen.getByText('Ingen av årsakene over (kan motta pleiepenger i 8 uker)')).toBeVisible();
expect(screen.getByText('Ingen av årsakene over (kan motta pleiepenger i 8 uker)')).toBeVisible();
});
// Egen test da det har mismatch mellom kodeverk og i18n-iso-countries
test('Kosovo vises korrekt', () => {
Expand All @@ -58,16 +78,17 @@ describe('Utenlandsopphold', () => {
});

// spesialhåndtering for Storbritannia da det ligger som EØS-land i kodeverket
test('Storbritannia er ikke i EØS', ({ skip }) => {
renderWithIntl(<Utenlandsopphold utenlandsopphold={{ perioder: [utenlandsoppholdMock.perioder[7]] }} />);
test('Storbritannia er ikke i EØS', () => {
renderWithUtenlandsoppholdContextMock(
<Utenlandsopphold utenlandsopphold={{ perioder: [utenlandsoppholdMock.perioder[7]] }} />,
);

expect(screen.getByText('Land')).toBeVisible();
expect(screen.getByText('Storbritannia')).toBeVisible();
expect(screen.getByText('EØS')).toBeVisible();
expect(screen.getByText('Nei')).toBeVisible();
expect(screen.getByText('Merknad til utenlandsopphold')).toBeVisible();
// Siste linje deaktivert etter kodeverk merge frå master. TODO Må finne ny måte å mocke inn utenlandsopphold årsak data
// expect(screen.getByText('Ingen av årsakene over (kan motta pleiepenger i 8 uker)')).toBeVisible();
expect(screen.getByText('Ingen av årsakene over (kan motta pleiepenger i 8 uker)')).toBeVisible();
});

// Sveits vurderes på lik linje med EØS-land
Expand Down

0 comments on commit d9a53b9

Please sign in to comment.