summaryrefslogtreecommitdiff
path: root/src/components/theme-provider.test.tsx
blob: 0ac54e1981957e21174be91e89a0a84c0dcd4cf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { render, screen } from '@testing-library/react';
import type { ReactNode } from 'react';
import { describe, expect, test, vi } from 'vitest';
import { ThemeProvider } from './theme-provider';

vi.mock('next-themes', () => ({
  ThemeProvider: ({ children }: { children: ReactNode }) => (
    <div data-testid='next-themes-provider'>{children}</div>
  ),
}));

describe('ThemeProvider', () => {
  test('renders children through next-themes provider', () => {
    render(
      <ThemeProvider attribute='class'>
        <span>content</span>
      </ThemeProvider>,
    );

    expect(screen.getByTestId('next-themes-provider')).toBeInTheDocument();
    expect(screen.getByText('content')).toBeInTheDocument();
  });
});