javascript / expert
Snippet
Mocking von Next.js Cookies und Request-Headern in Integrationstests
Das Konstruieren isolierter Map-basierter Cookie-Container-Fixtures ermöglicht die Ausführung von Next.js Server Action Unit-Tests ohne Abhängigkeit von vollständigen Laufzeitumgebungen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
export function createMockCookieStore(initialCookies = {}) {const store = new Map(Object.entries(initialCookies));return {get: (name) => store.has(name) ? { name, value: store.get(name) } : undefined,set: (name, value) => store.set(name, value),has: (name) => store.has(name)};}export function executeWithMockCookies(actionFn, mockData) {const mockStore = createMockCookieStore(mockData);try {return actionFn(mockStore);} catch (error) {throw new Error(`Test fixture failure: ${error.message}`);}}
nextjs
Erklärung
1
const store = new Map(Object.entries(initialCookies));
Wandelt Key-Value-Objekte in eine gekapselte Map-Nachschlagetabelle um.
2
get: (name) => store.has(name) ? { name, value: store.get(name) } : undefined,
Implementiert den standardisierten Next.js ReadonlyRequestCookies Getter-Vertrag.
3
throw new Error(`Test fixture failure: ${error.message}`);
Hüllt zugrundeliegende Action-Exceptions in explizite Testumgebungs-Diagnosemeldungen ein.