Files
signoz/frontend/src/components/Editor/Editor.test.tsx
GermaVinsmoke 72452dc946 chore: remove react import (#2727)
* chore: added jsx-runtime plugin in eslint tsconfig

Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>

* chore: updated react imports

Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>

* chore: renamed redux dispatch

Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>

* fix: build is fixed

---------

Signed-off-by: GermaVinsmoke <vaibhav1180@gmail.com>
Co-authored-by: Palash Gupta <palashgdev@gmail.com>
2023-05-19 13:14:32 +05:30

60 lines
1.5 KiB
TypeScript

import { render, screen } from '@testing-library/react';
import { useIsDarkMode } from 'hooks/useDarkMode';
import Editor from './index';
jest.mock('hooks/useDarkMode', () => ({
useIsDarkMode: jest.fn(),
}));
describe('Editor', () => {
it('renders correctly with default props', () => {
const { container } = render(<Editor value="" />);
expect(container).toMatchSnapshot();
});
it('renders correctly with custom props', () => {
const customProps = {
value: 'test',
language: 'javascript',
readOnly: true,
height: '50vh',
options: { minimap: { enabled: false } },
};
const { container } = render(
<Editor
value={customProps.value}
height={customProps.height}
language={customProps.language}
options={customProps.options}
readOnly={customProps.readOnly}
/>,
);
expect(container).toMatchSnapshot();
});
it('renders with dark mode theme', () => {
(useIsDarkMode as jest.Mock).mockImplementation(() => true);
const { container } = render(<Editor value="dark mode text" />);
expect(container).toMatchSnapshot();
});
it('renders with light mode theme', () => {
(useIsDarkMode as jest.Mock).mockImplementation(() => false);
const { container } = render(<Editor value="light mode text" />);
expect(container).toMatchSnapshot();
});
it('displays "Loading..." message initially', () => {
const { rerender } = render(<Editor value="initial text" />);
expect(screen.getByText('Loading...')).toBeInTheDocument();
rerender(<Editor value="initial text" />);
});
});