diff options
Diffstat (limited to 'app/javascript/mastodon/features/ui/components/__tests__/column-test.jsx')
-rw-r--r-- | app/javascript/mastodon/features/ui/components/__tests__/column-test.jsx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/javascript/mastodon/features/ui/components/__tests__/column-test.jsx b/app/javascript/mastodon/features/ui/components/__tests__/column-test.jsx new file mode 100644 index 000000000..a56859be0 --- /dev/null +++ b/app/javascript/mastodon/features/ui/components/__tests__/column-test.jsx @@ -0,0 +1,24 @@ +import { render, fireEvent, screen } from '@testing-library/react'; +import React from 'react'; +import Column from '../column'; + +describe('<Column />', () => { + describe('<ColumnHeader /> click handler', () => { + it('runs the scroll animation if the column contains scrollable content', () => { + const scrollToMock = jest.fn(); + const { container } = render( + <Column heading='notifications'> + <div className='scrollable' /> + </Column>, + ); + container.querySelector('.scrollable').scrollTo = scrollToMock; + fireEvent.click(screen.getByText('notifications')); + expect(scrollToMock).toHaveBeenCalledWith({ behavior: 'smooth', top: 0 }); + }); + + it('does not try to scroll if there is no scrollable content', () => { + render(<Column heading='notifications' />); + fireEvent.click(screen.getByText('notifications')); + }); + }); +}); |