diff options
Diffstat (limited to 'src/pybind/mgr/dashboard/frontend/src/app/shared/directives/stateful-tab.directive.spec.ts')
-rw-r--r-- | src/pybind/mgr/dashboard/frontend/src/app/shared/directives/stateful-tab.directive.spec.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/directives/stateful-tab.directive.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/directives/stateful-tab.directive.spec.ts new file mode 100644 index 000000000..5cebefbc9 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/directives/stateful-tab.directive.spec.ts @@ -0,0 +1,28 @@ +import { NgbConfig, NgbNav, NgbNavChangeEvent, NgbNavConfig } from '@ng-bootstrap/ng-bootstrap'; + +import { StatefulTabDirective } from './stateful-tab.directive'; + +describe('StatefulTabDirective', () => { + it('should create an instance', () => { + const directive = new StatefulTabDirective(null); + expect(directive).toBeTruthy(); + }); + + it('should get and select active tab', () => { + const nav = new NgbNav('tablist', new NgbNavConfig(new NgbConfig()), <any>null, null); + spyOn(nav, 'select'); + const directive = new StatefulTabDirective(nav); + directive.cdStatefulTab = 'bar'; + window.localStorage.setItem('tabset_bar', 'foo'); + directive.ngOnInit(); + expect(nav.select).toHaveBeenCalledWith('foo'); + }); + + it('should store active tab', () => { + const directive = new StatefulTabDirective(null); + directive.cdStatefulTab = 'bar'; + const event: NgbNavChangeEvent<string> = { activeId: '', nextId: 'xyz', preventDefault: null }; + directive.onNavChange(event); + expect(window.localStorage.getItem('tabset_bar')).toBe('xyz'); + }); +}); |