Skip to content

Commit 09a403f

Browse files
committed
cypress-test for å teste at de to systemene vi har for språkversjonering funker og gir riktig språk basert på språk i url
1 parent 5535124 commit 09a403f

File tree

6 files changed

+50
-3
lines changed

6 files changed

+50
-3
lines changed
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const url = "http://localhost:3000/arbeid";
2+
3+
/* Tekster er oversatt i to forskjellige systemer:
4+
*
5+
* * Mikrotekster på knapper etc er stortsett hardkodet og språkversjonert vha i18next-biblioteket
6+
* * Innhold kommer fra Sanity og er språkversjonert der og oversettes vha en utility-funksjon (localizeSanityContent)
7+
*
8+
* Vi tester at begge systemene funker og kan styres vha språk i url
9+
*
10+
* */
11+
describe("Spårkversjonering", () => {
12+
it("funker på norsk", () => {
13+
cy.visit(`${url}/testdata`);
14+
cy.findByRole("button", { name: /Cypress - språktest/ }).click();
15+
16+
cy.findByLabelText(/Kort fortalt/i).within(() => {
17+
// "Kort fortalt" er en mikrotekst som er hardkodet og oversatt ved hjelp av i18next
18+
cy.findByText(/Norsk innhold/i); // "Norsk innhold" er simulert Sanity-innhold
19+
});
20+
});
21+
22+
it("funker på engelsk", () => {
23+
cy.visit(`${url}/en/testdata`);
24+
cy.findByRole("button", { name: /Cypress - språktest/ }).click();
25+
26+
cy.findByLabelText(/Summary/i).within(() => {
27+
cy.findByText(/English content/i);
28+
});
29+
});
30+
});
File renamed without changes.

src/pages/testdata.tsx

+5
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { sistOppdatertTestdata } from "../components/faktaside/content/SistOppda
1919
import { wordCountTestData } from "../../cypress/testData/wordcount.testdata";
2020
import { GtilNOKAnnotationTestdata } from "../components/BlockContent/GtilNOKAnnotation/GtilNOKAnnotation.testdata";
2121
import { Button, Title } from "@navikt/ds-react";
22+
import { språktestData } from "../testUtils/språk.testdata";
2223

2324
type FaktasideData = FaktasideQueryData["faktaside"];
2425

@@ -109,6 +110,10 @@ const testData: Testdata[] = [
109110
name: "Cypress - word count",
110111
data: { innhold: translated(wordCountTestData.innhold), kortFortalt: translated(wordCountTestData.kortFortalt) },
111112
},
113+
{
114+
name: "Cypress - språktest",
115+
data: { kortFortalt: språktestData, visSprakversjon: { no: true, en: true } },
116+
},
112117
{
113118
name: "GtilNOK",
114119
data: { innhold: translated(GtilNOKAnnotationTestdata) },

src/testUtils/TestFaktaside.tsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { mockMenuData } from "../sanity/groq/menu/mockMenuData";
88
import { parseMenuData } from "../sanity/groq/menu/parseMenuData";
99
import { parseFaktasideData } from "../sanity/groq/faktaside/parseFaktasideData";
1010
import { MenuQueryData } from "../sanity/groq/menu/menuQuery";
11+
import { useLocale } from "../i18n/useLocale";
1112

1213
type Props = {
1314
partialFaktaside?: Partial<FaktasideQueryData["faktaside"]>;
@@ -17,6 +18,8 @@ type Props = {
1718
};
1819

1920
function TestFaktaside(props: Props) {
21+
const locale = useLocale();
22+
2023
const faktaSide = { ...faktaSideMockQueryData.faktaside, ...props.partialFaktaside };
2124
const oppsett = { ...faktaSideMockQueryData.oppsett, ...props.partialOppsett };
2225

@@ -43,8 +46,8 @@ function TestFaktaside(props: Props) {
4346
lenker: props.partialMeny?.lenker || mockMenuData.lenker,
4447
};
4548

46-
const parsedMenudata = parseMenuData(menuData, "no");
47-
const parsedFaktasidedata = parseFaktasideData(context, "no");
49+
const parsedMenudata = parseMenuData(menuData, locale);
50+
const parsedFaktasidedata = parseFaktasideData(context, locale);
4851

4952
return <FaktaSide menuData={parsedMenudata} {...parsedFaktasidedata} />;
5053
}

src/testUtils/faktaSideMockQueryData.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export const faktaSideMockQueryData: FaktasideQueryData = {
1111
title: translated("Faktasidemock"),
1212
id: "id",
1313
slug: "test",
14-
beskrivelse: translated("Dette er testdata"),
14+
beskrivelse: translated("Dette er testbeskrivelse for søkemotor"),
1515
visSprakversjon: {
1616
no: true,
1717
en: false,

src/testUtils/språk.testdata.ts

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Block } from "../utils/richTextUtils/richTextTypes";
2+
import { Translations } from "../types/translations";
3+
import { createSanityBlock } from "./createSanityBlock";
4+
5+
export const språktestData: Translations<Block[]> = {
6+
_type: "localeRichText",
7+
no: [createSanityBlock("Norsk innhold")],
8+
en: [createSanityBlock("English content")],
9+
};

0 commit comments

Comments
 (0)