- Switched to pnpm - Updated to typescript 4.9.5 - JSX transforms switched to react-jsx - Use swc for typescript transforms - Remove deprecated dependencies - Cleanup unused types - Some ESM fixes - PostCSS config now lives in package.json - Bump support target TODO: - switch to vite or plain esbuild - jest to vitest / uvu - jquery to cash-dom - pure ESM (lodash-es, etc.) - drop prettier & husky (lint-staged is okay) - drop wasm cli & xterm.js - update bootstrap
22 lines
689 B
TypeScript
22 lines
689 B
TypeScript
import { render, fireEvent, waitFor } from '@testing-library/react'
|
|
import * as fetch from '@/scripts/net'
|
|
import DarkModeButton from '@/components/DarkModeButton'
|
|
|
|
jest.mock('@/scripts/net')
|
|
|
|
test('click to toggle', async () => {
|
|
const { getByRole } = render(<DarkModeButton initMode={false} />)
|
|
const button = getByRole('button')
|
|
|
|
fireEvent.click(button)
|
|
await waitFor(() => expect(fetch.put).toBeCalledWith('/user/dark-mode'))
|
|
})
|
|
|
|
test('default is dark', async () => {
|
|
const { getByRole } = render(<DarkModeButton initMode={true} />)
|
|
const button = getByRole('button')
|
|
|
|
fireEvent.click(button)
|
|
await waitFor(() => expect(fetch.put).toBeCalledWith('/user/dark-mode'))
|
|
})
|