Use new UI (#8983)

* fixup build

* swap frontends
This commit is contained in:
Blake Blackshear
2023-12-16 16:20:59 +00:00
parent a2c6f45454
commit bdebb99b5a
286 changed files with 20010 additions and 20007 deletions

View File

@@ -0,0 +1,12 @@
import { h } from 'preact';
import App from '../app';
import { render, screen } from 'testing-library';
describe('App', () => {
// eslint-disable-next-line jest/no-disabled-tests
test.skip('loads the camera dashboard', async () => {
render(<App />);
await screen.findByText('Cameras');
expect(screen.queryByText('front')).toBeInTheDocument();
});
});

View File

@@ -0,0 +1,53 @@
import { h } from 'preact';
import * as Context from '../context';
import AppBar from '../AppBar';
import { fireEvent, render, screen } from '@testing-library/preact';
describe('AppBar', () => {
beforeEach(() => {
vi.spyOn(Context, 'useDarkMode').mockImplementation(() => ({
setDarkMode: vi.fn(),
}));
vi.spyOn(Context, 'DarkModeProvider').mockImplementation(({ children }) => {
return <div>{children}</div>;
});
});
test('shows a menu on overflow click', async () => {
render(
<Context.DarkModeProvider>
<Context.DrawerProvider>
<AppBar />
</Context.DrawerProvider>
</Context.DarkModeProvider>
);
const overflowButton = await screen.findByLabelText('More options');
fireEvent.click(overflowButton);
const menu = await screen.findByRole('listbox');
expect(menu).toBeInTheDocument();
});
test('sets dark mode on MenuItem select', async () => {
const setDarkModeSpy = vi.fn();
vi.spyOn(Context, 'useDarkMode').mockImplementation(() => ({
setDarkMode: setDarkModeSpy,
}));
render(
<Context.DarkModeProvider>
<Context.DrawerProvider>
<AppBar />
</Context.DrawerProvider>
</Context.DarkModeProvider>
);
const overflowButton = await screen.findByLabelText('More options');
fireEvent.click(overflowButton);
await screen.findByRole('listbox');
fireEvent.click(screen.getByText('Light'));
expect(setDarkModeSpy).toHaveBeenCalledWith('light');
});
});

View File

@@ -0,0 +1,14 @@
import { h } from 'preact';
import { DrawerProvider } from '../context';
import Sidebar from '../Sidebar';
import { render, screen } from 'testing-library';
describe('Sidebar', () => {
// eslint-disable-next-line jest/no-disabled-tests
test.skip('does not render cameras by default', async () => {
const { findByText } = render(<DrawerProvider><Sidebar /></DrawerProvider>);
await findByText('Cameras');
expect(screen.queryByRole('link', { name: 'front' })).not.toBeInTheDocument();
expect(screen.queryByRole('link', { name: 'side' })).not.toBeInTheDocument();
});
});