selectors.test.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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 = {
  24. team: mockTeam,
  25. searchMemberQuery: '',
  26. members: [],
  27. groups: [],
  28. };
  29. const team = getTeam(mockState, '1');
  30. expect(team).toEqual(mockTeam);
  31. });
  32. });
  33. describe('Get members', () => {
  34. const mockTeamMembers = getMockTeamMembers(5);
  35. it('should return team members', () => {
  36. const mockState: TeamState = {
  37. team: {} as Team,
  38. searchMemberQuery: '',
  39. members: mockTeamMembers,
  40. groups: [] as TeamGroup[],
  41. };
  42. const members = getTeamMembers(mockState);
  43. expect(members).toEqual(mockTeamMembers);
  44. });
  45. });
  46. });