userBadge.spec.jsx 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import React from 'react';
  2. import {mount, shallow} from 'enzyme';
  3. import UserBadge from 'app/components/idBadge/userBadge';
  4. describe('UserBadge', function() {
  5. let member = TestStubs.Member();
  6. let user = TestStubs.User();
  7. it('renders with link when member is supplied', function() {
  8. let wrapper = mount(<UserBadge member={member} orgId="orgId" />);
  9. expect(wrapper.find('StyledUserBadge')).toHaveLength(1);
  10. expect(wrapper.find('StyledName').prop('children')).toBe('Foo Bar');
  11. expect(wrapper.find('StyledEmail').prop('children')).toBe('foo@example.com');
  12. expect(wrapper.find('StyledName Link')).toHaveLength(1);
  13. });
  14. it('renders with no link when user is supplied', function() {
  15. let wrapper = mount(<UserBadge user={user} orgId="orgId" />);
  16. expect(wrapper.find('StyledUserBadge')).toHaveLength(1);
  17. expect(wrapper.find('StyledName').prop('children')).toBe('Foo Bar');
  18. expect(wrapper.find('StyledEmail').prop('children')).toBe('foo@example.com');
  19. expect(wrapper.find('StyledName Link')).toHaveLength(0);
  20. });
  21. it('can display alternate display names/emails', function() {
  22. let wrapper = shallow(
  23. <UserBadge
  24. user={user}
  25. displayName="Other Display Name"
  26. displayEmail="Other Display Email"
  27. />
  28. );
  29. expect(wrapper.find('StyledName').prop('children')).toBe('Other Display Name');
  30. expect(wrapper.find('StyledEmail').prop('children')).toBe('Other Display Email');
  31. });
  32. it('does not use a link for member name', function() {
  33. let wrapper = mount(<UserBadge user={user} useLink={false} />);
  34. expect(wrapper.find('StyledName Link')).toHaveLength(0);
  35. });
  36. it('can hide email address', function() {
  37. let wrapper = mount(<UserBadge user={user} hideEmail />);
  38. expect(wrapper.find('StyledEmail')).toHaveLength(0);
  39. });
  40. it('renders when a member without a user to passed to member', function() {
  41. let wrapper = mount(<UserBadge member={{...member, user: null}} />);
  42. expect(wrapper.find('StyledName').prop('children')).toBe('Sentry 1 Name');
  43. });
  44. });