NavStore.jest.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { NavStore } from './NavStore';
  2. describe('NavStore', () => {
  3. const folderId = 1;
  4. const folderTitle = 'Folder Name';
  5. const folderUrl = '/dashboards/f/uid/folder-name';
  6. const canAdmin = true;
  7. const folder = {
  8. id: folderId,
  9. url: folderUrl,
  10. title: folderTitle,
  11. canAdmin: canAdmin,
  12. };
  13. let store;
  14. beforeEach(() => {
  15. store = NavStore.create();
  16. store.initFolderNav(folder, 'manage-folder-settings');
  17. });
  18. it('Should set text', () => {
  19. expect(store.main.text).toBe(folderTitle);
  20. });
  21. it('Should load nav with tabs', () => {
  22. expect(store.main.children.length).toBe(3);
  23. expect(store.main.children[0].id).toBe('manage-folder-dashboards');
  24. expect(store.main.children[1].id).toBe('manage-folder-permissions');
  25. expect(store.main.children[2].id).toBe('manage-folder-settings');
  26. });
  27. it('Should set correct urls for each tab', () => {
  28. expect(store.main.children.length).toBe(3);
  29. expect(store.main.children[0].url).toBe(folderUrl);
  30. expect(store.main.children[1].url).toBe(`${folderUrl}/permissions`);
  31. expect(store.main.children[2].url).toBe(`${folderUrl}/settings`);
  32. });
  33. it('Should set active tab', () => {
  34. expect(store.main.children.length).toBe(3);
  35. expect(store.main.children[0].active).toBe(false);
  36. expect(store.main.children[1].active).toBe(false);
  37. expect(store.main.children[2].active).toBe(true);
  38. });
  39. });