Skip to content

Commit

Permalink
Vis kun kontonummer dersom bruker har tilgang på overordnet enhet. Fi…
Browse files Browse the repository at this point in the history
…ks mock data slik at orgnr som returneres fra ereg stemmer med scenarioet som er valgt
  • Loading branch information
anderslysne committed Jan 8, 2025
1 parent 577fafb commit 0c388aa
Show file tree
Hide file tree
Showing 10 changed files with 258 additions and 205 deletions.
8 changes: 7 additions & 1 deletion src/Pages/OmVirksomheten/OverordnetEnhet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@ import { KontaktinfoOverordnetEnhet } from './Kontaktinfo';
import { Hovedenhet } from '../../api/enhetsregisteretApi';
import { formatOrgNr } from '../../utils/util';
import { KontonummerOverordnetEnhet } from './Kontonummer';
import { useOrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider';

interface Props {
overordnetenhet: Hovedenhet;
}

const OverordnetEnhet = ({ overordnetenhet }: Props) => {
const { organisasjoner } = useOrganisasjonerOgTilgangerContext();
const { forretningsadresse, postadresse } = overordnetenhet;
const enhetstype =
overordnetenhet.organisasjonsform?.kode === 'ORGL' ? 'Organisasjonsledd' : 'Hovedenhet';
console.log("overorndet");
console.log(overordnetenhet);
return (
<div>
<Tekstboks className="overordnetenhet-navn">
Expand Down Expand Up @@ -91,7 +95,9 @@ const OverordnetEnhet = ({ overordnetenhet }: Props) => {
</Tekstboks>
<HStack gap="6" align={"start"}>
<KontaktinfoOverordnetEnhet overordnetEnhet={overordnetenhet} />
<KontonummerOverordnetEnhet overordnetEnhet={overordnetenhet} />
{organisasjoner[overordnetenhet.organisasjonsnummer].altinntilgang.endreBankkontonummerForRefusjoner && (
<KontonummerOverordnetEnhet overordnetEnhet={overordnetenhet} />
)}
</HStack>
</div>
);
Expand Down
19 changes: 15 additions & 4 deletions src/Pages/OmVirksomheten/Underenhet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,27 @@ import { BodyShort, Heading, HStack, Label } from '@navikt/ds-react';
import { KontaktinfoUnderenhet } from './Kontaktinfo';
import { formatOrgNr } from '../../utils/util';
import { KontonummerUnderenhet } from './Kontonummer';
import { useOrganisasjonerOgTilgangerContext } from '../OrganisasjonerOgTilgangerProvider';

interface Props {
underenhet: UnderenhetType;
}

const Underenhet = ({ underenhet }: Props) => {
const adresse = underenhet?.beliggenhetsadresse;
const { organisasjoner } = useOrganisasjonerOgTilgangerContext();

console.log(underenhet)
return (
<>
<Tekstboks className="underenhet-navn">
<Label htmlFor={"underenhet_navn_felt"}>Underenhet</Label>
<Heading id={"underenhet_navn_felt"} size="medium" level="2" className="underenhet-info__navn">
<Label htmlFor={'underenhet_navn_felt'}>Underenhet</Label>
<Heading
id={'underenhet_navn_felt'}
size="medium"
level="2"
className="underenhet-info__navn"
>
<UnderenhetIkon aria-hidden="true" title="underenhet" />
{underenhet.navn}
</Heading>
Expand Down Expand Up @@ -74,9 +82,12 @@ const Underenhet = ({ underenhet }: Props) => {
<NyFaneIkon />
</LenkeMedLogging>
</Tekstboks>
<HStack gap="6" align={"start"}>
<HStack gap="6" align={'start'}>
<KontaktinfoUnderenhet />
<KontonummerUnderenhet underenhet={underenhet}/>
{organisasjoner[underenhet.overordnetEnhet].altinntilgang // kontonummer tilgangstyres på overordnet enhet, ikke på underenhet. Dersom bruker har tilgang på overordnet enhet, har hen også tilgang på underenhet (https://nav-it.slack.com/archives/CKZADNFBP/p1736263494923189)
.endreBankkontonummerForRefusjoner && (
<KontonummerUnderenhet underenhet={underenhet} />
)}
</HStack>
</>
);
Expand Down
1 change: 0 additions & 1 deletion src/api/enhetsregisteretApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ const Underenhet = z
postadresse: true,
forretningsadresse: true,
hjemmeside: true,
overordnetEnhet: true,
harRegistrertAntallAnsatte: true,
antallAnsatte: true,
beliggenhetsadresse: true,
Expand Down
127 changes: 4 additions & 123 deletions src/mocks/handlers.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { storageHandlers } from './handlers/storageHandler';
import { kontaktinfoHandler } from './handlers/kontaktinfoHandler';
import { http, HttpResponse } from 'msw';
import { orgnr } from './brukerApi/helpers';
import { faker } from '@faker-js/faker';
import {
hentKalenderavtalerResolver,
hentNotifikasjonerResolver,
Expand All @@ -11,11 +9,13 @@ import {
hentSakByIdResolver,
} from './brukerApi/resolvers';
import { kontonummerHandlers } from './handlers/kontonummerHandler';
import { eregHandlers } from './handlers/eregHandlers';
import { Demoprofil } from '../hooks/useDemoprofil';

/**
* generelle handlers som har lik oppførsel uavhengig av profil.
*/
export const handlers = [
export const handlers = (demoprofil: Demoprofil) => [
// varslingStatusHandler
http.post('/min-side-arbeidsgiver/api/varslingStatus/v1', () =>
HttpResponse.json({
Expand Down Expand Up @@ -68,126 +68,7 @@ export const handlers = [
),

// eregHandlers
http.get(
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/underenheter/:orgnr',
({ params }) => {
const parentOrgnummer = orgnr();
const orgNr = params.orgnr;
return HttpResponse.json({
organisasjonsnummer: params.orgnr,
navn: faker.company.name(),
organisasjonsform: {
kode: 'BEDR',
beskrivelse: 'Bedrift',
_links: {
self: {
href: '/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/organisasjonsformer/BEDR',
},
},
},
postadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '1358',
poststed: 'JAR',
adresse: [faker.location.streetAddress()],
kommune: 'BÆRUM',
kommunenummer: '3024',
},
registreringsdatoEnhetsregisteret: '2010-12-15',
registrertIMvaregisteret: false,
naeringskode1: {
beskrivelse: 'Administrasjon av finansmarkeder',
kode: '66.110',
},
antallAnsatte: 42,
overordnetEnhet: orgnr(),
oppstartsdato: '2010-12-15',
datoEierskifte: '2010-12-15',
beliggenhetsadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '7950',
poststed: 'ABELVÆR',
adresse: [faker.location.streetAddress()],
kommune: 'NÆRØYSUND',
kommunenummer: '5060',
},
_links: {
self: {
href:
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/underenheter/' +
orgNr,
},
overordnetEnhet: {
href:
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/enheter/' +
parentOrgnummer,
},
},
});
}
),

http.get(
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/enheter/:orgnr',
({ params }) =>
HttpResponse.json({
organisasjonsnummer: params.orgnr,
navn: 'Presentabel Bygning',
organisasjonsform: {
kode: 'AS',
beskrivelse: 'Aksjeselskap',
_links: {
self: {
href: '/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/organisasjonsformer/AS',
},
},
},
hjemmeside: 'foo.bar.baz',
postadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '2652',
poststed: 'SVINGVOLL',
adresse: ['Sørskei-Tjernet 7'],
kommune: 'GAUSDAL',
kommunenummer: '3441',
},
registreringsdatoEnhetsregisteret: '2004-12-15',
registrertIMvaregisteret: false,
naeringskode1: {
beskrivelse: 'Administrasjon av finansmarkeder',
kode: '66.110',
},
antallAnsatte: 0,
forretningsadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '7950',
poststed: 'ABELVÆR',
adresse: ['Niels Brandtzægs veg 22'],
kommune: 'NÆRØYSUND',
kommunenummer: '5060',
},
institusjonellSektorkode: {
kode: '3200',
beskrivelse: 'Banker',
},
registrertIForetaksregisteret: false,
registrertIStiftelsesregisteret: false,
registrertIFrivillighetsregisteret: false,
konkurs: false,
underAvvikling: false,
underTvangsavviklingEllerTvangsopplosning: false,
maalform: 'Bokmål',
_links: {
self: {
href: '/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/enheter/181488484',
},
},
})
),
...eregHandlers(demoprofil),

// sykefravaerstatistikkHandler
http.get('/min-side-arbeidsgiver/api/sykefravaerstatistikk/:orgnr', () =>
Expand Down
153 changes: 153 additions & 0 deletions src/mocks/handlers/eregHandlers.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
import { http, HttpResponse } from 'msw';
import { orgnr } from '../brukerApi/helpers';
import { faker } from '@faker-js/faker';
import { Demoprofil } from '../../hooks/useDemoprofil';
import { dagligLederOrganisasjon } from '../scenarios/dagligLederScenario';
import { nærmesteLederOrganisasjon } from '../scenarios/nærmesteLederScenario';
import { regnskapsforerOrganisasjoner } from '../scenarios/regnskapsforerScenario';

type organisasjon = {
orgnr: string;
navn: string;
organisasjonsform: string;
underenheter: organisasjon[];
};

const organisasjoner: {
[key: Demoprofil]: organisasjon[];
} = {
DagligLeder: [dagligLederOrganisasjon],
NarmesteLeder: [nærmesteLederOrganisasjon],
Regnskapsforer: regnskapsforerOrganisasjoner,
};

const parentOrgnr = (demoprofil: Demoprofil, underenhetOrgnr: string | readonly string[]) => {
const org = organisasjoner[demoprofil].find((o) => o.underenheter.some((u) => u.orgnr === underenhetOrgnr));
if (!org) {
throw new Error(`Fant ikke organisasjon med orgnr ${orgnr}`);
}
return org.orgnr;
}

export const eregHandlers = (demoprofil: Demoprofil) => [
http.get(
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/underenheter/:orgnr',
({ params }) => {
const parentOrgnummer = parentOrgnr(demoprofil, params.orgnr);
const orgNr = params.orgnr;
return HttpResponse.json({
organisasjonsnummer: params.orgnr,
navn: faker.company.name(),
organisasjonsform: {
kode: 'BEDR',
beskrivelse: 'Bedrift',
_links: {
self: {
href: '/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/organisasjonsformer/BEDR',
},
},
},
postadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '1358',
poststed: 'JAR',
adresse: [faker.location.streetAddress()],
kommune: 'BÆRUM',
kommunenummer: '3024',
},
registreringsdatoEnhetsregisteret: '2010-12-15',
registrertIMvaregisteret: false,
naeringskode1: {
beskrivelse: 'Administrasjon av finansmarkeder',
kode: '66.110',
},
antallAnsatte: 42,
overordnetEnhet: parentOrgnummer,
oppstartsdato: '2010-12-15',
datoEierskifte: '2010-12-15',
beliggenhetsadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '7950',
poststed: 'ABELVÆR',
adresse: [faker.location.streetAddress()],
kommune: 'NÆRØYSUND',
kommunenummer: '5060',
},
_links: {
self: {
href:
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/underenheter/' +
orgNr,
},
overordnetEnhet: {
href:
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/enheter/' +
parentOrgnummer,
},
},
});
}
),

http.get(
'/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/enheter/:orgnr',
({ params }) =>
HttpResponse.json({
organisasjonsnummer: params.orgnr,
navn: 'Presentabel Bygning',
organisasjonsform: {
kode: 'AS',
beskrivelse: 'Aksjeselskap',
_links: {
self: {
href: '/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/organisasjonsformer/AS',
},
},
},
hjemmeside: 'foo.bar.baz',
postadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '2652',
poststed: 'SVINGVOLL',
adresse: ['Sørskei-Tjernet 7'],
kommune: 'GAUSDAL',
kommunenummer: '3441',
},
registreringsdatoEnhetsregisteret: '2004-12-15',
registrertIMvaregisteret: false,
naeringskode1: {
beskrivelse: 'Administrasjon av finansmarkeder',
kode: '66.110',
},
antallAnsatte: 0,
forretningsadresse: {
land: 'Norge',
landkode: 'NO',
postnummer: '7950',
poststed: 'ABELVÆR',
adresse: ['Niels Brandtzægs veg 22'],
kommune: 'NÆRØYSUND',
kommunenummer: '5060',
},
institusjonellSektorkode: {
kode: '3200',
beskrivelse: 'Banker',
},
registrertIForetaksregisteret: false,
registrertIStiftelsesregisteret: false,
registrertIFrivillighetsregisteret: false,
konkurs: false,
underAvvikling: false,
underTvangsavviklingEllerTvangsopplosning: false,
maalform: 'Bokmål',
_links: {
self: {
href: '/min-side-arbeidsgiver/mock/data.brreg.no/enhetsregisteret/api/enheter/181488484',
},
},
})
),
];
3 changes: 2 additions & 1 deletion src/mocks/handlers/kontonummerHandler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ export const kontonummerHandlers = [

http.post('/min-side-arbeidsgiver/api/kontonummerStatus/v1', () =>
HttpResponse.json({
status: faker.helpers.maybe(() => 'OK', { probability: 0.99 }) ?? 'MANGLER_KONTONUMMER',
status: faker.helpers.maybe(() => 'OK', { probability: 0 }) ?? 'MANGLER_KONTONUMMER',
// status: faker.helpers.maybe(() => 'OK', { probability: 0.99 }) ?? 'MANGLER_KONTONUMMER',
})
),
];
Loading

0 comments on commit 0c388aa

Please sign in to comment.