index.spec.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import {act, render, screen} from 'sentry-test/reactTestingLibrary';
  2. import {TeamBadge} from 'sentry/components/idBadge/teamBadge';
  3. import TeamStore from 'sentry/stores/teamStore';
  4. describe('TeamBadge', function () {
  5. beforeEach(() => {
  6. TeamStore.init();
  7. });
  8. it('renders with Avatar and team name', function () {
  9. render(<TeamBadge team={TestStubs.Team()} />);
  10. expect(screen.getByTestId('badge-styled-avatar')).toBeInTheDocument();
  11. expect(screen.getByText(/#team-slug/)).toBeInTheDocument();
  12. });
  13. it('listens for avatar changes from TeamStore', async function () {
  14. const team = TestStubs.Team();
  15. render(<TeamBadge team={team} />);
  16. act(() => {
  17. TeamStore.onUpdateSuccess(team.id, {
  18. ...team,
  19. slug: 'new-team-slug',
  20. });
  21. });
  22. expect(await screen.findByText(/#new-team-slug/)).toBeInTheDocument();
  23. });
  24. it('updates state from props', async function () {
  25. const team = TestStubs.Team();
  26. const {rerender} = render(<TeamBadge team={team} />);
  27. rerender(<TeamBadge team={TestStubs.Team({slug: 'new-team-slug'})} />);
  28. expect(await screen.findByText(/#new-team-slug/)).toBeInTheDocument();
  29. });
  30. });