fix(ui): elapsed time for scans
Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
import { renderHook, act } from '@testing-library/react-hooks'
|
||||
import { vi } from 'vitest'
|
||||
import { useScanElapsedTime } from './useScanElapsedTime'
|
||||
|
||||
describe('useScanElapsedTime', () => {
|
||||
beforeEach(() => {
|
||||
vi.useFakeTimers()
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
vi.useRealTimers()
|
||||
})
|
||||
|
||||
it('increments elapsed time while scanning', () => {
|
||||
const { result } = renderHook(
|
||||
({ scanning, elapsed }) => useScanElapsedTime(scanning, elapsed),
|
||||
{
|
||||
initialProps: { scanning: true, elapsed: 0 },
|
||||
},
|
||||
)
|
||||
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(3000)
|
||||
})
|
||||
|
||||
expect(result.current).toBe(3e9)
|
||||
})
|
||||
|
||||
it('stops incrementing when not scanning', () => {
|
||||
const { result, rerender } = renderHook(
|
||||
({ scanning, elapsed }) => useScanElapsedTime(scanning, elapsed),
|
||||
{
|
||||
initialProps: { scanning: false, elapsed: 2e9 },
|
||||
},
|
||||
)
|
||||
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(2000)
|
||||
})
|
||||
|
||||
expect(result.current).toBe(2e9)
|
||||
|
||||
rerender({ scanning: true, elapsed: 2e9 })
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(1000)
|
||||
})
|
||||
|
||||
expect(result.current).toBe(3e9)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user