diff --git a/test/browser/fixtures/user-event/pointer.test.ts b/test/browser/fixtures/user-event/pointer.test.ts index 82c0f186d..b4889a86b 100644 --- a/test/browser/fixtures/user-event/pointer.test.ts +++ b/test/browser/fixtures/user-event/pointer.test.ts @@ -235,14 +235,23 @@ test('drags and drops', async ({ expect }) => {
Drop here
` + const DRAG_CONTENT = 'drag content' + const source = document.body.querySelector('#source') const dropTarget = document.body.querySelector('#target') type DragAction = (event: DragEvent) => void - const dragStart = vi.fn() + let dragData: string + + const dragStart = vi.fn((event) => { + event.dataTransfer.setData('text/plain', DRAG_CONTENT) + }) const dragEnter = vi.fn() - const drop = vi.fn() + const drop = vi.fn((event) => { + // retrieving the data from the mock doesn't work, so we need to save it + dragData = event.dataTransfer.getData('text/plain') + }) const dragEnd = vi.fn() source.addEventListener('dragstart', dragStart) @@ -253,7 +262,6 @@ test('drags and drops', async ({ expect }) => { await userEvent.pointer([ { target: source, action: 'down' }, - { target: dropTarget }, { target: dropTarget, action: 'up' }, ]) @@ -264,6 +272,8 @@ test('drags and drops', async ({ expect }) => { expect(dragStart).toHaveBeenCalledBefore(dragEnter) expect(dragEnter).toHaveBeenCalledBefore(drop) expect(drop).toHaveBeenCalledBefore(dragEnd) + + expect(dragData).toBe(DRAG_CONTENT) }) test('temporary modifiers apply to one action', async ({ expect }) => {