Skip to content

Commit

Permalink
Fjerner navigere-event (måtte ha en ugrei preventDefault på lenkene)
Browse files Browse the repository at this point in the history
  • Loading branch information
runska committed Jan 3, 2024
1 parent 8b643fd commit 0dedd8b
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 145 deletions.
24 changes: 9 additions & 15 deletions src/InkluderendeArbeidslivPanel/InkluderendeArbeidslivPanel.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import { Accordion, BodyShort, LinkPanel } from "@navikt/ds-react";
import { Accordion, BodyShort, Link, LinkPanel } from "@navikt/ds-react";
import React, { FunctionComponent } from "react";
import styles from "./InkluderendeArbeidslivPanel.module.scss";
import classNames from "classnames";
import { LenkeMedEventutsendelse } from "../LenkeMedNavigereEvent/LenkeMedEventutsendelse";
import { sendNavigereEvent } from "../amplitude/amplitude";

const Lenkepanel: React.FunctionComponent<{
lenketekst: string;
Expand All @@ -13,12 +11,6 @@ const Lenkepanel: React.FunctionComponent<{
<LinkPanel
className={styles.inkluderendeArbeidslivPanel__lenkepanel}
href={destinasjon}
onClickCapture={(e) => {
e.preventDefault();
}}
onClick={() => {
sendNavigereEvent(destinasjon, lenketekst);
}}
>
<LinkPanel.Title
className={styles.inkluderendeArbeidslivPanel__lenkepanel__tittel}
Expand Down Expand Up @@ -79,16 +71,17 @@ export const InkluderendeArbeidslivPanel: FunctionComponent = () => {
<li>Innsats mot lange og/eller hyppige gjentagende sykefravær</li>
</ul>
</div>
<LenkeMedEventutsendelse
<Link
href={
"https://www.regjeringen.no/no/tema/arbeidsliv/arbeidsmiljo-og-sikkerhet/inkluderende_arbeidsliv/ia-avtalen-20192022/ia-avtalen-20192022/id2623741/"
}
lenketekst="Les mer om IA-avtalen på sidene til regjeringen"
className={classNames(
styles.inkluderendeArbeidslivPanel__avsnitt,
styles.inkluderendeArbeidslivPanel__lenke,
)}
/>
>
Les mer om IA-avtalen på sidene til regjeringen
</Link>
<div className={styles.inkluderendeArbeidslivPanel__avsnitt}>
<BodyShort
className={styles.inkluderendeArbeidslivPanel__avsnitt__tittel}
Expand Down Expand Up @@ -116,14 +109,15 @@ export const InkluderendeArbeidslivPanel: FunctionComponent = () => {
/>
</div>
</div>
<LenkeMedEventutsendelse
<Link
href={"https://arbeidsgiver.nav.no/forebygge-sykefravaer"}
lenketekst="Se fullstendig oversikt over NAVs tilbud her"
className={classNames(
styles.inkluderendeArbeidslivPanel__avsnitt,
styles.inkluderendeArbeidslivPanel__lenke,
)}
/>
>
Se fullstendig oversikt over NAVs tilbud her
</Link>
</Accordion.Content>
</Accordion.Item>
</Accordion>
Expand Down
20 changes: 0 additions & 20 deletions src/LenkeMedNavigereEvent/LenkeMedEventutsendelse.tsx

This file was deleted.

63 changes: 1 addition & 62 deletions src/Lenkeflis/Lenkeflis.test.tsx
Original file line number Diff line number Diff line change
@@ -1,69 +1,8 @@
import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { render } from "@testing-library/react";
import { Lenkeflis } from "./Lenkeflis";
import { sendNavigereEvent } from "../amplitude/amplitude";
import { axe } from "jest-axe";
import { sendDigitalIaTjenesteMetrikk } from "../integrasjoner/ia-tjenestemetrikker-api";

jest.mock("../amplitude/amplitude");
jest.mock("../hooks/useOrgnr", () => ({
useOrgnr: () => "999999999",
}));
jest.mock("../integrasjoner/ia-tjenestemetrikker-api", () => ({
__esModule: true,
...jest.requireActual("../integrasjoner/ia-tjenestemetrikker-api"),
sendDigitalIaTjenesteMetrikk: jest.fn(),
}));

beforeEach(() => {
// window.location-assign er ikke implementert i jest, så vi må mocke den
// eslint-disable-next-line
// @ts-ignore
delete window.location;
// eslint-disable-next-line
// @ts-ignore
window.location = { assign: jest.fn() };
});

afterEach(() => {
jest.resetAllMocks();
jest.fn().mockClear();
});

describe("Lenkeflis", () => {
it("sender navigere-event ved klikk", async () => {
render(
<Lenkeflis overskrift="Link" brødtekst="Klikk her" href="destinasjon" />,
);

const statistikklenke = screen.getByRole("link", {
name: "Link Klikk her",
});

const user = userEvent.setup();
await user.click(statistikklenke);

expect(sendNavigereEvent).toHaveBeenCalledTimes(1);
expect(sendNavigereEvent).toHaveBeenCalledWith("destinasjon", "Link");
});

it("Kaller sendLevertInnloggetIaTjeneste ved klikk", async () => {
render(
<Lenkeflis overskrift="Link" brødtekst="Klikk her" href="destinasjon" />,
);
const user = userEvent.setup();

const statistikklenke = screen.getByRole("link", {
name: "Link Klikk her",
});

expect(sendDigitalIaTjenesteMetrikk).toHaveBeenCalledTimes(0);

await user.click(statistikklenke);

expect(sendDigitalIaTjenesteMetrikk).toHaveBeenCalledTimes(1);
});

test("inneholder ikke uu-feil", async () => {
const { container: myContainer } = render(
<Lenkeflis overskrift="Link" brødtekst="Klikk her" href="destinasjon" />,
Expand Down
63 changes: 26 additions & 37 deletions src/Lenkeflis/Lenkeflis.tsx
Original file line number Diff line number Diff line change
@@ -1,45 +1,34 @@
import {LinkPanel} from "@navikt/ds-react";
import { LinkPanel } from "@navikt/ds-react";
import styles from "./Lenkeflis.module.scss";
import React from "react";
import {sendDigitalIaTjenesteMetrikk} from "../integrasjoner/ia-tjenestemetrikker-api";
import {useOrgnr} from "../hooks/useOrgnr";
import {MetrikkKilde} from "@navikt/ia-metrikker-client";
import {sendNavigereEvent} from "../amplitude/amplitude";

export interface LenkeflisProps {
overskrift: string;
ikon?: React.ReactElement;
href?: string;
brødtekst?: string;
overskrift: string;
ikon?: React.ReactElement;
href?: string;
brødtekst?: string;
}

export const Lenkeflis = ({overskrift, ikon, href, brødtekst}: LenkeflisProps) => {
const orgnr = useOrgnr();
const destinasjon = href ?? "#";
export const Lenkeflis = ({
overskrift,
ikon,
href,
brødtekst,
}: LenkeflisProps) => {
const destinasjon = href ?? "#";

return (
<LinkPanel
href={destinasjon}
className={styles.lenkeflis}
onClickCapture={(e) => {
e.preventDefault();
}}
onClick={() => {
sendDigitalIaTjenesteMetrikk(MetrikkKilde.FOREBYGGE_FRAVÆR, orgnr)
sendNavigereEvent(destinasjon, overskrift)
}}
>
<LinkPanel.Title>
<div className={styles.ikonOgTekstWrapper}>
{ikon && <div className={styles.ikonWrapper}>{ikon}</div>}
{overskrift}
</div>
</LinkPanel.Title>
{brødtekst &&
<LinkPanel.Description>
{brødtekst}
</LinkPanel.Description>
}
</LinkPanel>
);
return (
<LinkPanel
href={destinasjon}
className={styles.lenkeflis}
>
<LinkPanel.Title>
<div className={styles.ikonOgTekstWrapper}>
{ikon && <div className={styles.ikonWrapper}>{ikon}</div>}
{overskrift}
</div>
</LinkPanel.Title>
{brødtekst && <LinkPanel.Description>{brødtekst}</LinkPanel.Description>}
</LinkPanel>
);
};
7 changes: 1 addition & 6 deletions src/LenkeflisEkstern/LenkeflisEkstern.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React from "react";
import { LinkPanel } from "@navikt/ds-react";
import styles from "./lenkeflis-ekstern.module.scss";
import { sendNavigereEvent } from "../amplitude/amplitude";

export const LenkeflisEkstern: React.FunctionComponent<{
overskrift: string;
Expand All @@ -10,11 +9,7 @@ export const LenkeflisEkstern: React.FunctionComponent<{
}> = ({ overskrift, brødtekst, href }) => {
const destinasjon = href ?? "#";
return (
<LinkPanel
href={destinasjon}
onClickCapture={(event) => event.preventDefault()}
onClick={() => sendNavigereEvent(destinasjon, overskrift)}
>
<LinkPanel href={destinasjon}>
<LinkPanel.Title>{overskrift}</LinkPanel.Title>
<div className={styles.linkPanel__description__wrapper}>
<LinkPanel.Description>{brødtekst}</LinkPanel.Description>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ import { Link, LinkProps } from "@navikt/ds-react";
import { ExternalLinkIcon } from "@navikt/aksel-icons";
import classNames from "classnames";

import {sendNavigereEvent} from "../../../amplitude/amplitude";

type WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };

const EksternLenke: FunctionComponent<WithRequired<LinkProps, "href">> = ({
Expand All @@ -22,9 +20,6 @@ const EksternLenke: FunctionComponent<WithRequired<LinkProps, "href">> = ({
className={classNames(className)}
target="_blank"
rel="noopener noreferrer"
onClick={() => {
sendNavigereEvent(lenkeProperties.href, lenketekst);
}}
>
{lenketekst}
<ExternalLinkIcon aria-hidden />
Expand Down

0 comments on commit 0dedd8b

Please sign in to comment.