Skip to content
Snippets Groups Projects
setupTests.ts 874 B
Newer Older
import 'jest-canvas-mock';

// used by openlayers module
global.ResizeObserver = jest.fn().mockImplementation(() => ({
  observe: jest.fn(),
  unobserve: jest.fn(),
  disconnect: jest.fn(),
}));
jest.mock('next/router', () => require('next-router-mock'));
global.TextEncoder = jest.fn().mockImplementation(() => ({
  encode: jest.fn(),
}));

const localStorageMock = (() => {
  let store: {
    [key: PropertyKey]: string;
  } = {};

  return {
    getItem: jest.fn((key: PropertyKey) => store[key] || null),
    setItem: jest.fn((key: PropertyKey, value: any) => {
      store[key] = value.toString();
    }),
    removeItem: jest.fn((key: PropertyKey) => {
      delete store[key];
    }),
    clear: jest.fn(() => {
      store = {};
    }),
  };
})();

Object.defineProperty(global, 'localStorage', {
  value: localStorageMock,
});