Files
frontend-app-authn/src/setupTest.js
Mubbshar Anwar cb47717b09 fix: window console warning (#830)
remove console log warnings from SocialAuthProviders unit tests by mocking the location object.
Mock localStorage.

VAN-1350
2023-04-06 10:35:46 +05:00

66 lines
1.4 KiB
JavaScript
Executable File

/* eslint-disable import/no-extraneous-dependencies */
/* eslint-disable max-classes-per-file */
import { getConfig } from '@edx/frontend-platform';
import { configure as configureLogging } from '@edx/frontend-platform/logging';
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });
class MockLoggingService {
logInfo = jest.fn();
logError = jest.fn();
}
export default function initializeMockLogging() {
const loggingService = configureLogging(MockLoggingService, {
config: getConfig(),
});
return { loggingService };
}
class ResizeObserver {
observe() {
// do nothing
}
unobserve() {
// do nothing
}
disconnect() {
// do nothing
}
}
window.ResizeObserver = ResizeObserver;
window.scrollTo = (x, y) => {
document.documentElement.scrollTop = y;
};
const location = new URL('https://authn.edx.org');
location.assign = jest.fn();
location.replace = jest.fn();
location.reload = jest.fn();
delete window.location;
window.location = location;
const localStorageMock = jest.fn(() => {
let store = {};
return {
getItem: (key) => (store[key] || null),
setItem: (key, value) => {
store[key] = value.toString();
},
clear: () => {
store = {};
},
removeItem: (key) => {
delete store[key];
},
};
})();
Object.defineProperty(window, 'localStorage', { value: localStorageMock });