Skip to main content

mockWindow()

mockWindow(overrides): MockWindowResult

Creates a mock window object on globalThis for Node.js tests.

note

Always call restore() for cleanup. Auto-restored after each test if forgotten.


Parametersโ€‹

overrides: Partial<Window> = {}โ€‹

Properties to set on the mock window.


Returns: MockWindowResultโ€‹

Object containing the mock window and restore function.


Sinceโ€‹

2.0.0


Exampleโ€‹

const { window, restore } = mockWindow({ innerWidth: 1024 });
expect(window.innerWidth).toBe(1024);
restore();

Use Casesโ€‹

Mock window properties ๐Ÿ“Œโ€‹

Safely override window properties for Node.js-based tests. Essential for testing responsive design logic or window event handlers.

const { restore } = mockWindow({
innerWidth: 768,
innerHeight: 1024
});

expect(isMobile()).toBe(true);
restore();

Simulate different viewportsโ€‹

Test responsive breakpoints and layout changes.

const { restore } = mockWindow({ innerWidth: 1920 });
expect(getBreakpoint()).toBe('desktop');
restore();

const { restore: restore2 } = mockWindow({ innerWidth: 375 });
expect(getBreakpoint()).toBe('mobile');
restore2();

Mock storage APIsโ€‹

Test localStorage/sessionStorage interactions.

const storage = new Map();
const { restore } = mockWindow({
localStorage: {
getItem: (k) => storage.get(k),
setItem: (k, v) => storage.set(k, v)
}
});

savePreference('theme', 'dark');
expect(storage.get('theme')).toBe('dark');
restore();

MockWindowResultโ€‹

Interface

Result of mockWindow().


Sinceโ€‹

2.0.0


Propertiesโ€‹

window: anyโ€‹

restore(): () => voidโ€‹

Returnsโ€‹

void