novo-elements
Version:
Bullhorn's NOVO Element Repository for Angular 2
47 lines (39 loc) • 1.52 kB
text/typescript
// NG2
import { ElementRef } from '@angular/core';
// APP
import { OutsideClick } from './OutsideClick';
describe('Util: OutsideClick', () => {
let outsideClick;
let mockElement: ElementRef = new ElementRef(document.createElement('div'));
let mockEvent;
beforeEach(() => {
outsideClick = new OutsideClick(mockElement);
mockEvent = new Event('click');
});
it('should has default values', () => {
expect(outsideClick.active).toEqual(false);
expect(outsideClick.element).toEqual(mockElement);
});
describe('Method: toggleActive(event,forceValue)', () => {
it('should be defined', () => {
expect(outsideClick.toggleActive).toBeDefined();
});
it('should toggle the active property of outsideClick', () => {
outsideClick.toggleActive(mockEvent);
expect(outsideClick.active).toBe(true);
outsideClick.toggleActive(mockEvent);
expect(outsideClick.active).toBe(false);
});
it('should set active to force value if passed', () => {
outsideClick.toggleActive(mockEvent, false);
expect(outsideClick.active).toBe(false);
outsideClick.toggleActive(mockEvent, true);
expect(outsideClick.active).toBe(true);
});
});
describe('Method: handleOutsideClick(event)', () => {
it('should be defined', () => {
expect(outsideClick.handleOutsideClick).toBeDefined();
});
});
});