import { render } from '@testing-library/react';
import SettingsDrawer from './SettingsDrawer';
import React from 'react';
beforeEach(() => {
// @ts-ignore
window.IntersectionObserver = jest.fn(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
takeRecords: jest.fn(),
}));
});
it('renders SettingsDrawer unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
it('renders SettingsDrawer open unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
it('renders SettingsDrawer open with continuous speech enabled unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
it('renders SettingsDrawer open with non-default continuous speech timeout unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
it('renders SettingsDrawer for totem layout open unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
it('renders SettingsDrawer for totem layout open with controls at center unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
it('renders SettingsDrawer for totem layout with continuous speech and hide emissions unchanged', () => {
const { container } = render(
);
expect(container).toMatchSnapshot();
});
const AdditionalSettings = () => {
const [hideEmissions, setHideEmissions] = React.useState(false);
return (
setHideEmissions(e.target.checked)}
/>
);
};
it('renders SettingsDrawer with additional custom settings unchanged', () => {
const { container } = render(
}
avatarType="avatar3d"
setAvatarType={jest.fn()}
setEnablePositionControls={jest.fn()}
/>
);
expect(container).toMatchSnapshot();
});