selectors.test.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { getTeam, getTeamMembers, getTeams } from './selectors';
  2. import { getMockTeam, getMockTeamMembers, getMultipleMockTeams } from '../__mocks__/teamMocks';
  3. import { Team, TeamGroup, TeamsState, TeamState } from '../../../types';
  4. describe('Teams selectors', () => {
  5. describe('Get teams', () => {
  6. const mockTeams = getMultipleMockTeams(5);
  7. it('should return teams if no search query', () => {
  8. const mockState: TeamsState = { teams: mockTeams, searchQuery: '', hasFetched: false };
  9. const teams = getTeams(mockState);
  10. expect(teams).toEqual(mockTeams);
  11. });
  12. it('Should filter teams if search query', () => {
  13. const mockState: TeamsState = { teams: mockTeams, searchQuery: '5', hasFetched: false };
  14. const teams = getTeams(mockState);
  15. expect(teams.length).toEqual(1);
  16. });
  17. });
  18. });
  19. describe('Team selectors', () => {
  20. describe('Get team', () => {
  21. const mockTeam = getMockTeam();
  22. it('should return team if matching with location team', () => {
  23. const mockState: TeamState = { team: mockTeam, searchMemberQuery: '', members: [], groups: [] };
  24. const team = getTeam(mockState, '1');
  25. expect(team).toEqual(mockTeam);
  26. });
  27. });
  28. describe('Get members', () => {
  29. const mockTeamMembers = getMockTeamMembers(5);
  30. it('should return team members', () => {
  31. const mockState: TeamState = {
  32. team: {} as Team,
  33. searchMemberQuery: '',
  34. members: mockTeamMembers,
  35. groups: [] as TeamGroup[],
  36. };
  37. const members = getTeamMembers(mockState);
  38. expect(members).toEqual(mockTeamMembers);
  39. });
  40. });
  41. });