import { describe, it, expect, vi } from 'vitest'; import { render, screen, fireEvent, act } from '@testing-library/react'; import { TrashView } from '../TrashView'; const items = [ { id: 'doc_1', title: 'Urlaub', icon: '🏔️', folderPath: 'Privat', deletedAt: '2026-10-29T08:00:00Z', isOwner: true }, ]; describe('TrashView', () => { it('deletes for good only on the second tap', async () => { const onPurge = vi.fn(async () => {}); render( {})} onPurge={onPurge} onEmpty={vi.fn(async () => {})} onBackMobile={vi.fn()} />); fireEvent.click(screen.getByText('Endgültig löschen')); expect(onPurge).not.toHaveBeenCalled(); await act(async () => { fireEvent.click(screen.getByText('Wirklich löschen?')); }); expect(onPurge).toHaveBeenCalledWith('doc_1'); }); it('restores with one tap and shows the original folder', async () => { const onRestore = vi.fn(async () => {}); render( {})} onEmpty={vi.fn(async () => {})} onBackMobile={vi.fn()} />); expect(screen.getByText('Privat')).toBeTruthy(); await act(async () => { fireEvent.click(screen.getByText('Wiederherstellen')); }); expect(onRestore).toHaveBeenCalledWith('doc_1'); }); });