File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import { fireEvent, render, screen } from '@testing-library/react'
import { describe, expect, it, vi } from 'vitest'
import OrgList from './OrgList'
import type { Org } from '../api/client'
const orgs: Org[] = [
{
id: 1, orgNo: '001', orgName: '국제방송교류재단', status: 'ACTIVE',
deptName: null, managerName: null, managerTitle: null,
managerPhone: null, managerEmail: null,
channelIdMj: 'a', channelIdLaw: 'b',
},
{
id: 2, orgNo: '008', orgName: '경찰청_치안정책연구소', status: 'INFO_PENDING',
deptName: null, managerName: null, managerTitle: null,
managerPhone: null, managerEmail: null,
channelIdMj: null, channelIdLaw: null,
},
]
describe('OrgList', () => {
it('연번과 기관명을 보여준다', () => {
render(<OrgList orgs={orgs} selectedId={null} onSelect={() => {}} />)
expect(screen.getByText('001')).toBeTruthy()
expect(screen.getByText('국제방송교류재단')).toBeTruthy()
expect(screen.getByText('경찰청_치안정책연구소')).toBeTruthy()
})
it('기관을 클릭하면 선택 콜백이 호출된다', () => {
const onSelect = vi.fn()
render(<OrgList orgs={orgs} selectedId={null} onSelect={onSelect} />)
fireEvent.click(screen.getByText('국제방송교류재단'))
expect(onSelect).toHaveBeenCalledWith(1)
})
it('검색어로 기관을 걸러낸다', () => {
render(<OrgList orgs={orgs} selectedId={null} onSelect={() => {}} />)
fireEvent.change(screen.getByPlaceholderText('기관명 검색'), {
target: { value: '경찰' },
})
expect(screen.queryByText('국제방송교류재단')).toBeNull()
expect(screen.getByText('경찰청_치안정책연구소')).toBeTruthy()
})
})