import { render, fireEvent, screen } from '@testing-library/react' import { Toast } from '@/scripts/toast' test('"Toast" class', () => { const toast = new Toast(render) toast.success('success') expect(document.querySelector('.alert-success')!.textContent).toContain( 'success', ) toast.info('info') expect(document.querySelector('.alert-info')!.textContent).toContain('info') toast.warning('warning') expect(document.querySelector('.alert-warning')!.textContent).toContain( 'warning', ) toast.error('error') expect(document.querySelector('.alert-danger')!.textContent).toContain( 'error', ) jest.runAllTimers() toast.dispose() }) test('clear toasts', () => { const toast = new Toast(render) toast.success('success') toast.info('info') toast.clear() expect(document.querySelectorAll('.alert')).toHaveLength(0) toast.dispose() }) test('close toast manually', () => { const toast = new Toast(render) toast.success('success') fireEvent.click(screen.getByText('×')) expect(document.querySelectorAll('.alert')).toHaveLength(0) toast.dispose() })