import { h } from 'preact'; import { render } from '@testing-library/preact'; import { axe } from 'jest-axe'; import ChatChannelMembershipSection from '../ChatChannelSettings/ChatChannelMembershipSection'; describe('', () => { it('should have no a11y violations', async () => { const { container } = render( , ); const results = await axe(container); expect(results).toHaveNoViolations(); }); it('should render when no memberships', () => { const { getByText, getByTestId } = render( , ); getByTestId('active-memberships'); const activeMemberships = getByTestId('active-memberships'); expect(Number(activeMemberships.dataset.activeCount)).toEqual(0); getByText('Members'); }); it('should render with memberships', () => { const { getByText, getByTestId } = render( , ); getByTestId('active-memberships'); const activeMemberships = getByTestId('active-memberships'); expect(Number(activeMemberships.dataset.activeCount)).toEqual(2); getByText('Members', { selector: '[data-testid="active-memberships"] *', }); const pendingMemberships = getByTestId('pending-memberships'); expect(Number(pendingMemberships.dataset.pendingCount)).toEqual(1); getByText('Pending Invitations', { selector: '[data-testid="pending-memberships"] *', }); const requestedMemberships = getByTestId('requested-memberships'); expect(Number(requestedMemberships.dataset.requestedCount)).toEqual(3); getByText('Joining Request', { selector: '[data-testid="requested-memberships"] *', }); }); });