|
@@ -2,14 +2,19 @@ import {render, screen} from 'sentry-test/reactTestingLibrary';
|
|
|
|
|
|
import AvatarList from 'sentry/components/avatar/avatarList';
|
|
|
|
|
|
-function renderComponent(
|
|
|
- avatarUsersSixUsers: React.ComponentProps<typeof AvatarList>['users']
|
|
|
-) {
|
|
|
- return render(<AvatarList users={avatarUsersSixUsers} />);
|
|
|
+function renderComponent({
|
|
|
+ users,
|
|
|
+ teams,
|
|
|
+}: {
|
|
|
+ users: React.ComponentProps<typeof AvatarList>['users'];
|
|
|
+ teams?: React.ComponentProps<typeof AvatarList>['teams'];
|
|
|
+}) {
|
|
|
+ return render(<AvatarList users={users} teams={teams} />);
|
|
|
}
|
|
|
|
|
|
describe('AvatarList', () => {
|
|
|
const user = TestStubs.User();
|
|
|
+ const team = TestStubs.Team();
|
|
|
|
|
|
it('renders with user letter avatars', () => {
|
|
|
const users = [
|
|
@@ -17,10 +22,10 @@ describe('AvatarList', () => {
|
|
|
{...user, id: '2', name: 'BC'},
|
|
|
];
|
|
|
|
|
|
- renderComponent(users);
|
|
|
+ renderComponent({users});
|
|
|
expect(screen.getByText('A')).toBeInTheDocument();
|
|
|
expect(screen.getByText('B')).toBeInTheDocument();
|
|
|
- expect(screen.queryByTestId('avatarList-collapsedusers')).not.toBeInTheDocument();
|
|
|
+ expect(screen.queryByTestId('avatarList-collapsedavatars')).not.toBeInTheDocument();
|
|
|
});
|
|
|
|
|
|
it('renders with collapsed avatar count if > 5 users', () => {
|
|
@@ -33,13 +38,31 @@ describe('AvatarList', () => {
|
|
|
{...user, id: '6', name: 'FG'},
|
|
|
];
|
|
|
|
|
|
- renderComponent(users);
|
|
|
+ renderComponent({users});
|
|
|
expect(screen.getByText(users[0].name.charAt(0))).toBeInTheDocument();
|
|
|
expect(screen.getByText(users[1].name.charAt(0))).toBeInTheDocument();
|
|
|
expect(screen.getByText(users[2].name.charAt(0))).toBeInTheDocument();
|
|
|
expect(screen.getByText(users[3].name.charAt(0))).toBeInTheDocument();
|
|
|
expect(screen.getByText(users[4].name.charAt(0))).toBeInTheDocument();
|
|
|
expect(screen.queryByText(users[5].name.charAt(0))).not.toBeInTheDocument();
|
|
|
- expect(screen.getByTestId('avatarList-collapsedusers')).toBeInTheDocument();
|
|
|
+ expect(screen.getByTestId('avatarList-collapsedavatars')).toBeInTheDocument();
|
|
|
+ });
|
|
|
+
|
|
|
+ it('renders with team avatars', () => {
|
|
|
+ const users = [
|
|
|
+ {...user, id: '1', name: 'CD'},
|
|
|
+ {...user, id: '2', name: 'DE'},
|
|
|
+ ];
|
|
|
+ const teams = [
|
|
|
+ {...team, id: '1', name: 'A', slug: 'A', type: 'team'},
|
|
|
+ {...team, id: '2', name: 'B', slug: 'B', type: 'team'},
|
|
|
+ ];
|
|
|
+
|
|
|
+ renderComponent({users, teams});
|
|
|
+ expect(screen.getByText('A')).toBeInTheDocument();
|
|
|
+ expect(screen.getByText('B')).toBeInTheDocument();
|
|
|
+ expect(screen.getByText('C')).toBeInTheDocument();
|
|
|
+ expect(screen.getByText('D')).toBeInTheDocument();
|
|
|
+ expect(screen.queryByTestId('avatarList-collapsedavatars')).not.toBeInTheDocument();
|
|
|
});
|
|
|
});
|