Files
frontend-app-authn/src/setupTest.js
2025-06-26 23:05:50 -03:00

69 lines
1.6 KiB
JavaScript
Executable File

import siteConfig from 'site.config';
import { addAppConfigs, configureAnalytics, configureAuth, configureLogging, getSiteConfig, mergeSiteConfig, MockAnalyticsService, MockAuthService, MockLoggingService } from '@openedx/frontend-base';
mergeSiteConfig(siteConfig);
addAppConfigs();
export function initializeMockServices() {
const loggingService = configureLogging(MockLoggingService, {
config: getSiteConfig(),
});
const authService = configureAuth(MockAuthService, {
config: getSiteConfig(),
loggingService,
});
const analyticsService = configureAnalytics(MockAnalyticsService, {
config: getSiteConfig(),
httpClient: authService.getAuthenticatedHttpClient(),
loggingService,
});
return { analyticsService, authService, 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 });