Skip to content

Instantly share code, notes, and snippets.

@raviagheda
Created April 9, 2024 06:10
Show Gist options
  • Save raviagheda/daa3d13154c12d5abe7402b0ebcb392e to your computer and use it in GitHub Desktop.
Save raviagheda/daa3d13154c12d5abe7402b0ebcb392e to your computer and use it in GitHub Desktop.
Mock ResizeObserver in JEST
global.ResizeObserver = jest.fn().mockImplementation(callback => {
  let elements: any[] = [];
  
  const observe = jest.fn(element => {
    elements.push(element);
    // Here you can simulate setting height and width
    callback([{ target: element, contentRect: { width: 100, height: 200 } }]);
  });

  const unobserve = jest.fn(element => {
    elements = elements.filter(el => el !== element);
  });

  const disconnect = jest.fn(() => {
    elements = [];
  });

  return {
    observe,
    unobserve,
    disconnect,
  };
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment