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โ
Result of mockWindow().
Sinceโ
2.0.0
Propertiesโ
window: anyโ
restore(): () => voidโ
Returnsโ
void