team_details_ctrl.jest.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import '../team_details_ctrl';
  2. import TeamDetailsCtrl from '../team_details_ctrl';
  3. describe('TeamDetailsCtrl', () => {
  4. var backendSrv = {
  5. searchUsers: jest.fn(() => Promise.resolve([])),
  6. get: jest.fn(() => Promise.resolve([])),
  7. post: jest.fn(() => Promise.resolve([])),
  8. };
  9. //Team id
  10. var routeParams = {
  11. id: 1,
  12. };
  13. var navModelSrv = {
  14. getNav: jest.fn(),
  15. };
  16. var teamDetailsCtrl = new TeamDetailsCtrl({ $broadcast: jest.fn() }, backendSrv, routeParams, navModelSrv);
  17. describe('when user is chosen to be added to team', () => {
  18. beforeEach(() => {
  19. teamDetailsCtrl = new TeamDetailsCtrl({ $broadcast: jest.fn() }, backendSrv, routeParams, navModelSrv);
  20. const userItem = {
  21. id: 2,
  22. login: 'user2',
  23. };
  24. teamDetailsCtrl.userPicked(userItem);
  25. });
  26. it('should parse the result and save to db', () => {
  27. expect(backendSrv.post.mock.calls[0][0]).toBe('/api/teams/1/members');
  28. expect(backendSrv.post.mock.calls[0][1].userId).toBe(2);
  29. });
  30. it('should refresh the list after saving.', () => {
  31. expect(backendSrv.get.mock.calls[0][0]).toBe('/api/teams/1');
  32. expect(backendSrv.get.mock.calls[1][0]).toBe('/api/teams/1/members');
  33. });
  34. });
  35. });