@uppy/react
Version:
React component wrappers around Uppy's official UI plugins.
26 lines (25 loc) • 1.08 kB
JavaScript
import { act, renderHook } from '@testing-library/react';
import Uppy from '@uppy/core';
import { describe, expect, expectTypeOf, it, vi } from 'vitest';
import { useUppyEvent } from './index.js';
describe('useUppyEvent', () => {
it('should return and update value with the correct type', () => {
const uppy = new Uppy();
const callback = vi.fn();
const { result, rerender } = renderHook(() => useUppyEvent(uppy, 'file-added', callback));
act(() => uppy.addFile({
source: 'vitest',
name: 'foo1.jpg',
type: 'image/jpeg',
data: new File(['foo1'], 'foo1.jpg', { type: 'image/jpeg' }),
}));
expectTypeOf(result.current).toEqualTypeOf();
expect(result.current[0][0].name).toBe('foo1.jpg');
rerender();
expect(result.current[0][0].name).toBe('foo1.jpg');
act(() => result.current[1]());
expectTypeOf(result.current).toEqualTypeOf();
expect(result.current[0]).toStrictEqual([]);
expect(callback).toHaveBeenCalledTimes(1);
});
});