blessing-skin-server/resources/assets/tests/components/DarkModeButton.test.tsx
2024-02-23 16:58:50 +08:00

23 lines
730 B
TypeScript

import { expect, vi, test } from 'vitest';
import { render, fireEvent, waitFor } from '@testing-library/react'
import * as fetch from '@/scripts/net'
import DarkModeButton from '@/components/DarkModeButton'
vi.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'))
})