import { EventEmitter, } from '@angular/core'; import { BasicTabsComponent, } from './basic-tabs.component'; import { BasicTabInterface, } from './../../models/index'; const initBasicTabsComponent = () => { return new BasicTabsComponent(); }; describe('defaults', () => { test('Sets a default value for tabs', () => { expect(initBasicTabsComponent().tabs).toEqual([]); }); test('Sets a default value for onTabClicked', () => { expect(initBasicTabsComponent().onTabClicked) .toEqual(new EventEmitter()); }); }); describe('trackByTabId', () => { test('Returns the fieldName of the object', () => { const basicTabsComponent = initBasicTabsComponent(); const result = basicTabsComponent.trackByTabId({ id: 'tabId', } as BasicTabInterface); expect(result).toBe('tabId'); }); }); describe('tabClicked', () => { test('Emits the tab Id to onTabClicked', () => { const basicTabsComponent = initBasicTabsComponent(); basicTabsComponent.onTabClicked.emit = jest.fn(); basicTabsComponent.tabClicked({ id: 'tabId', } as BasicTabInterface); expect(basicTabsComponent.onTabClicked.emit).toHaveBeenCalledWith( 'tabId', ); }); });