index.test.tsx38 lines · main
1import { render, screen } from '@testing-library/react'
2import { describe, expect, it } from 'vitest'
3
4import { MultipleCodeBlock } from './index'
5
6describe('MultipleCodeBlock', () => {
7 it('resets the active tab when the available files change in uncontrolled mode', () => {
8 const { rerender } = render(
9 <MultipleCodeBlock
10 files={[
11 {
12 name: '.env.local',
13 language: 'bash',
14 code: 'NEXT_PUBLIC_BRIVEN_URL=https://next.example',
15 },
16 ]}
17 />
18 )
19
20 expect(screen.getByRole('tab', { selected: true })).toHaveTextContent('.env.local')
21 expect(screen.getByText('NEXT_PUBLIC_BRIVEN_URL=https://next.example')).toBeVisible()
22
23 rerender(
24 <MultipleCodeBlock
25 files={[
26 {
27 name: '.env',
28 language: 'bash',
29 code: 'VITE_BRIVEN_URL=https://react.example',
30 },
31 ]}
32 />
33 )
34
35 expect(screen.getByRole('tab', { selected: true })).toHaveTextContent('.env')
36 expect(screen.getByText('VITE_BRIVEN_URL=https://react.example')).toBeVisible()
37 })
38})