mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-21 21:50:49 +02:00

WIP: pre-granular-permissions commit
feat: Add category and support contact fields to Agent schema and UI components
Revert "feat: Add category and support contact fields to Agent schema and UI components"
This reverts commit c43a52b4c9
.
Fix: Update import for renderHook in useAgentCategories.spec.tsx
fix: Update icon rendering in AgentCategoryDisplay tests to use empty spans
refactor: Improve category synchronization logic and clean up AgentConfig component
refactor: Remove unused UI flow translations from translation.json
feat: agent marketplace features
🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804)
76 lines
2 KiB
JavaScript
76 lines
2 KiB
JavaScript
/* This file is automatically executed before running tests
|
|
* https://create-react-app.dev/docs/running-tests/#initializing-test-environment
|
|
*/
|
|
|
|
// react-testing-library renders your components to document.body,
|
|
// this adds jest-dom's custom assertions
|
|
// https://github.com/testing-library/jest-dom#table-of-contents
|
|
import '@testing-library/jest-dom';
|
|
|
|
// jest-dom adds custom jest matchers for asserting on DOM nodes.
|
|
// allows you to do things like:
|
|
// expect(element).toHaveTextContent(/react/i)
|
|
// learn more: https://github.com/testing-library/jest-dom
|
|
import '@testing-library/jest-dom/extend-expect';
|
|
|
|
// Mock canvas when run unit test cases with jest.
|
|
// 'react-lottie' uses canvas
|
|
import 'jest-canvas-mock';
|
|
|
|
// Mock ResizeObserver
|
|
import './resizeObserver.mock';
|
|
|
|
// Mock window.matchMedia
|
|
Object.defineProperty(window, 'matchMedia', {
|
|
writable: true,
|
|
value: jest.fn().mockImplementation((query) => ({
|
|
matches: false,
|
|
media: query,
|
|
onchange: null,
|
|
addListener: jest.fn(), // deprecated
|
|
removeListener: jest.fn(), // deprecated
|
|
addEventListener: jest.fn(),
|
|
removeEventListener: jest.fn(),
|
|
dispatchEvent: jest.fn(),
|
|
})),
|
|
});
|
|
|
|
beforeEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
// Mock window.matchMedia for tests
|
|
Object.defineProperty(window, 'matchMedia', {
|
|
writable: true,
|
|
value: jest.fn().mockImplementation((query) => ({
|
|
matches: false,
|
|
media: query,
|
|
onchange: null,
|
|
addListener: jest.fn(), // deprecated
|
|
removeListener: jest.fn(), // deprecated
|
|
addEventListener: jest.fn(),
|
|
removeEventListener: jest.fn(),
|
|
dispatchEvent: jest.fn(),
|
|
})),
|
|
});
|
|
|
|
jest.mock('react-i18next', () => {
|
|
const actual = jest.requireActual('react-i18next');
|
|
return {
|
|
...actual,
|
|
useTranslation: () => {
|
|
const i18n = require('~/locales/i18n').default;
|
|
return {
|
|
t: (key, options) => i18n.t(key, options),
|
|
i18n: {
|
|
...i18n,
|
|
changeLanguage: jest.fn(),
|
|
},
|
|
};
|
|
},
|
|
initReactI18next: {
|
|
type: '3rdParty',
|
|
init: jest.fn(),
|
|
},
|
|
};
|
|
});
|