search_results.jest.ts 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import { SearchResultsCtrl } from '../components/search/search_results';
  2. describe('SearchResultsCtrl', () => {
  3. let ctrl;
  4. describe('when checking an item that is not checked', () => {
  5. let item = {checked: false};
  6. let selectionChanged = false;
  7. beforeEach(() => {
  8. ctrl = new SearchResultsCtrl({});
  9. ctrl.onSelectionChanged = () => selectionChanged = true;
  10. ctrl.toggleSelection(item);
  11. });
  12. it('should set checked to true', () => {
  13. expect(item.checked).toBeTruthy();
  14. });
  15. it('should trigger selection changed callback', () => {
  16. expect(selectionChanged).toBeTruthy();
  17. });
  18. });
  19. describe('when checking an item that is checked', () => {
  20. let item = {checked: true};
  21. let selectionChanged = false;
  22. beforeEach(() => {
  23. ctrl = new SearchResultsCtrl({});
  24. ctrl.onSelectionChanged = () => selectionChanged = true;
  25. ctrl.toggleSelection(item);
  26. });
  27. it('should set checked to false', () => {
  28. expect(item.checked).toBeFalsy();
  29. });
  30. it('should trigger selection changed callback', () => {
  31. expect(selectionChanged).toBeTruthy();
  32. });
  33. });
  34. describe('when selecting a tag', () => {
  35. let selectedTag = null;
  36. beforeEach(() => {
  37. ctrl = new SearchResultsCtrl({});
  38. ctrl.onTagSelected = (tag) => selectedTag = tag;
  39. ctrl.selectTag('tag-test');
  40. });
  41. it('should trigger tag selected callback', () => {
  42. expect(selectedTag["$tag"]).toBe('tag-test');
  43. });
  44. });
  45. describe('when toggle a collapsed folder', () => {
  46. let folderExpanded = false;
  47. beforeEach(() => {
  48. ctrl = new SearchResultsCtrl({});
  49. ctrl.onFolderExpanding = () => { folderExpanded = true; };
  50. let folder = {
  51. expanded: false,
  52. toggle: () => Promise.resolve(folder)
  53. };
  54. ctrl.toggleFolderExpand(folder);
  55. });
  56. it('should trigger folder expanding callback', () => {
  57. expect(folderExpanded).toBeTruthy();
  58. });
  59. });
  60. describe('when toggle an expanded folder', () => {
  61. let folderExpanded = false;
  62. beforeEach(() => {
  63. ctrl = new SearchResultsCtrl({});
  64. ctrl.onFolderExpanding = () => { folderExpanded = true; };
  65. let folder = {
  66. expanded: true,
  67. toggle: () => Promise.resolve(folder)
  68. };
  69. ctrl.toggleFolderExpand(folder);
  70. });
  71. it('should not trigger folder expanding callback', () => {
  72. expect(folderExpanded).toBeFalsy();
  73. });
  74. });
  75. });