@chordcommerce/analytics
Version:
Chord Commerce event tracking
28 lines (27 loc) • 732 B
JavaScript
// eslint-disable-next-line import/no-extraneous-dependencies
import { jest } from '@jest/globals';
// Make jest available globally
globalThis.jest = jest;
// Mock sessionStorage for tests
const sessionStorageMock = (() => {
let store = {};
return {
getItem: (key) => store[key] || null,
setItem: (key, value) => {
store[key] = value;
},
removeItem: (key) => {
delete store[key];
},
clear: () => {
store = {};
},
};
})();
Object.defineProperty(window, 'sessionStorage', {
value: sessionStorageMock,
});
// Clear sessionStorage before each test to ensure test isolation
beforeEach(() => {
sessionStorageMock.clear();
});