blessing-skin-server/resources/assets/tests/components/DarkModeButton.test.tsx
Zephyr Lykos 9524a234cf
cleanup: wip 3.1
mostly misc cleanups
2024-02-24 23:01:32 +08:00

27 lines
735 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/>);
const button = getByRole('button');
fireEvent.click(button);
await waitFor(() => {
expect(fetch.put).toBeCalledWith('/user/dark-mode');
});
});