Skip to content

Commit 34ad8bc

Browse files
committed
feat: add test
1 parent 3e355c3 commit 34ad8bc

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

src/packages/elevator/__tests__/elevator.spec.tsx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as React from 'react'
22
import { render, fireEvent, act, waitFor } from '@testing-library/react'
33
import '@testing-library/jest-dom'
44
import { Elevator } from '../elevator'
5+
import { trigger, triggerDrag } from '@/utils/event-mocker'
56

67
const list = [
78
{
@@ -383,3 +384,34 @@ test('should reset scroll state correctly', () => {
383384
// 简化测试,只确认组件正常渲染
384385
expect(true).toBeTruthy()
385386
})
387+
388+
test('should handle drag start correctly', async () => {
389+
const { container } = render(<Elevator list={list} height={200} />)
390+
const barsInner = container.querySelector('.nut-elevator-bars-inner')
391+
392+
// 模拟拖拽开始
393+
await act(async () => {
394+
trigger(barsInner, 'touchstart', 0, 0)
395+
trigger(barsInner, 'touchmove', 0, 20)
396+
})
397+
398+
// 验证 scrollStart 状态是否被正确设置
399+
await waitFor(() => {
400+
expect(container.querySelector('.nut-elevator-code-current')).toBeTruthy()
401+
})
402+
})
403+
404+
test('should handle drag end correctly', async () => {
405+
const { container } = render(<Elevator list={list} height={200} />)
406+
const barsInner = container.querySelector('.nut-elevator-bars-inner')
407+
408+
// 模拟完整的拖拽过程
409+
await act(async () => {
410+
triggerDrag(barsInner, 0, 50)
411+
})
412+
413+
// 验证拖拽结束后的状态
414+
await waitFor(() => {
415+
expect(container.querySelector('.nut-elevator-code-current')).toBeFalsy()
416+
})
417+
})

0 commit comments

Comments
 (0)