import {fakeAsync, flush, TestBed} from '@angular/core/testing'; import { CprSearchEventService } from './cpr-search-event.service'; describe('CprSearchFabEventService', () => { let service: CprSearchEventService; beforeEach(() => { TestBed.configureTestingModule({}); service = TestBed.inject(CprSearchEventService); }); it('should be created', () => { expect(service).toBeTruthy(); }); it('emits "focused=true" when emitCprSearchFocusedEvent is called with value "true"', fakeAsync(() => { let calledTimes = 0; const sub = service.cprSearchFocused$.subscribe((focused) => { expect(focused).toBe(true); calledTimes++; }); service.emitCprSearchFocusedEvent(true); flush(); expect(calledTimes).toBe(1); sub.unsubscribe(); })); it('emits "focused=false" when emitCprSearchFocusedEvent is called with value "false"', fakeAsync(() => { let calledTimes = 0; const sub = service.cprSearchFocused$.subscribe((focused) => { expect(focused).toBe(false); calledTimes++; }); service.emitCprSearchFocusedEvent(false); flush(); expect(calledTimes).toBe(1); sub.unsubscribe(); })); it('emits click event when emitCprSearchFabClickEvent is called', fakeAsync(() => { let calledTimes = 0; const sub = service.cprSearchFabClick$.subscribe(() => { calledTimes++; }); service.emitCprSearchFabClickEvent(); flush(); expect(calledTimes).toBe(1); sub.unsubscribe(); })); });