mockWindow()
mockWindow(
overrides): MockWindowResult
Creates a mock window object on globalThis for Node.js tests.
remarque
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