diff options
Diffstat (limited to 'src/app/shared/directives')
5 files changed, 161 insertions, 10 deletions
diff --git a/src/app/shared/directives/collapse.component.spec.ts b/src/app/shared/directives/collapse.component.spec.ts new file mode 100644 index 0000000..0d234d7 --- /dev/null +++ b/src/app/shared/directives/collapse.component.spec.ts @@ -0,0 +1,31 @@ +import { Collapse } from './collapse.component'; +import { ElementRef } from '@angular/core'; + + +describe('CollapseComponent', () => { + let directive; + + beforeEach(() => { + directive = new Collapse(); + }); + + it('should create an instance', () => { + expect(directive).toBeTruthy(); + }); + + describe('should toggle', () => { + it('should call hide() if isExpanded is true', () => { + directive.isExpanded = true; + + directive.toggle(); + }); + + it('should call show() if isExpanded is false', () => { + directive.isExpanded = false; + + directive.toggle(); + }); + + + }); +});
\ No newline at end of file diff --git a/src/app/shared/directives/drop-down-toggle.directive.spec.ts b/src/app/shared/directives/drop-down-toggle.directive.spec.ts index b08d334..81b08c8 100644 --- a/src/app/shared/directives/drop-down-toggle.directive.spec.ts +++ b/src/app/shared/directives/drop-down-toggle.directive.spec.ts @@ -21,16 +21,26 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. ============LICENSE_END============================================ */ +import { TestBed } from '@angular/core/testing'; +import { DropDownToggleDirective } from './drop-down-toggle.directive'; +import { ElementRef } from '@angular/core'; -/* tslint:disable:no-unused-variable */ -import {DropDownToggleDirective} from './drop-down-toggle.directive'; -import {ElementRef} from '@angular/core'; +describe('DropDownToggleDirective', () => { + let directive; + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DropDownToggleDirective] + }); + }); + beforeEach(() => { + directive = new DropDownToggleDirective(new ElementRef('')); + }); -describe('DropDownToggleDirective', () => { it('should create an instance', () => { - const directive = new DropDownToggleDirective(new ElementRef('')); - expect(directive).toBeTruthy(); + let el: HTMLElement; + directive.type = 'dropdown'; + expect(directive).toBeTruthy(); }); }); diff --git a/src/app/shared/directives/dropdown.spec.ts b/src/app/shared/directives/dropdown.spec.ts index 2dbebd2..1aedfa5 100644 --- a/src/app/shared/directives/dropdown.spec.ts +++ b/src/app/shared/directives/dropdown.spec.ts @@ -24,15 +24,22 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. /* tslint:disable:no-unused-variable */ -import {Dropdown} from './dropdown'; -import {ElementRef} from '@angular/core'; +import { Dropdown } from './dropdown'; +import { ElementRef } from '@angular/core'; describe('DropDown', () => { + let directive; + + beforeEach(() => { + directive = new Dropdown(new ElementRef('<dropdown></dropdown>')); + }); it('should create an instance', () => { - const directive = new Dropdown(new ElementRef('<dropdown></dropdown>')); expect(directive).toBeTruthy(); }); - + it('should test open method', () => { + let elementRef: ElementRef; + console.log(directive); + }); }); diff --git a/src/app/shared/directives/dropdownnotclosablezone.spec.ts b/src/app/shared/directives/dropdownnotclosablezone.spec.ts new file mode 100644 index 0000000..e397f83 --- /dev/null +++ b/src/app/shared/directives/dropdownnotclosablezone.spec.ts @@ -0,0 +1,52 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +ECOMP is a trademark and service mark of AT&T Intellectual Property. +============LICENSE_END============================================ +*/ + +import { TestBed } from '@angular/core/testing'; +import { DropdownNotClosableZone } from './dropdownnotclosablezone'; +import { ElementRef } from '@angular/core'; + + +describe('DropdownNotClosableZone', () => { + let directive; + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [DropdownNotClosableZone] + }); + }); + + beforeEach(() => { + directive = new DropdownNotClosableZone(new ElementRef('<dropdown-not-closable-zone></dropdown-not-closable-zone>')); + }); + + it('should create an instance', () => { + + expect(directive).toBeTruthy(); + }); + + it('should test contain method', () => { + let el: HTMLElement; + let dropdownNotClosabledZone = false; + + + }); +}); diff --git a/src/app/shared/directives/dropdownopen.spec.ts b/src/app/shared/directives/dropdownopen.spec.ts new file mode 100644 index 0000000..b7a7aa6 --- /dev/null +++ b/src/app/shared/directives/dropdownopen.spec.ts @@ -0,0 +1,51 @@ +import { DropdownOpen } from './dropdownopen'; +import { Dropdown } from './dropdown'; +import { ElementRef, Host, HostListener } from '@angular/core'; +import { async, TestBed, inject } from '@angular/core/testing'; + + +describe('DropdownOpen', () => { + let directive; + let dropdown = new Dropdown(new ElementRef('')); + + beforeEach(() => { + directive = new DropdownOpen(dropdown, new ElementRef('')); + }); + + it('should create an instance', () => { + expect(directive).toBeTruthy(); + }); + + describe('should validate on Host click event', () => { + it('should validate openDropdown method if activateOnFocus, openedByFocus are true', () => { + let event = new Event('click'); + let dispatchEvent = window.dispatchEvent(event); + dropdown.activateOnFocus = true; + directive.openedByFocus = true; + + directive.openDropdown(); + }); + + it('should validate openDropdown method if dropdown.isOpened(), dropdown.toggleClick false', () => { + }); + }); + + it('should validate on Host keydown event', () => { + let spy = spyOn(directive, 'openDropdown') + var event = new KeyboardEvent("keydown"); + + Object.defineProperty(event, "keyCode", {"value" : 40}) + + directive.dropdownKeydown(event); + + expect(spy).toHaveBeenCalled() + }); + + it('should validate on Host focus event', () => { + + dropdown.activateOnFocus = false; + + directive.onFocus(); + + }); +});
\ No newline at end of file |