mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-21 17:56:13 +01:00
feat: Setup Unit Test Environment and Refactor Typescript Config (#365)
* modify tsconfig and set up unit tests * generate .d.ts files * setup project dependencies and configuration for unit tests * Add test setup and layout-test-utils along with first spec * Add paths back to tsconfig * remove type=module from package.json * Add typescript definition for .env * update package-lock
This commit is contained in:
parent
dbfef342e2
commit
4eda4542b7
14 changed files with 8805 additions and 14010 deletions
21
client/test/layout-test-utils.tsx
Normal file
21
client/test/layout-test-utils.tsx
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { render as rtlRender } from '@testing-library/react';
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||
import { AuthContextProvider } from '~/hooks/AuthContext';
|
||||
import { BrowserRouter as Router } from 'react-router-dom';
|
||||
|
||||
const client = new QueryClient();
|
||||
|
||||
function renderWithProvidersWrapper(ui, { ...options } = {}) {
|
||||
function Wrapper({ children }) {
|
||||
return (
|
||||
<QueryClientProvider client={client}>
|
||||
<Router>
|
||||
<AuthContextProvider>{children}</AuthContextProvider>
|
||||
</Router>
|
||||
</QueryClientProvider>
|
||||
);
|
||||
}
|
||||
return rtlRender(ui, { wrapper: Wrapper, ...options });
|
||||
}
|
||||
export * from '@testing-library/react';
|
||||
export { renderWithProvidersWrapper as render };
|
||||
18
client/test/setupTests.js
Normal file
18
client/test/setupTests.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/* 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';
|
||||
Loading…
Add table
Add a link
Reference in a new issue