aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/shared/directives
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/shared/directives')
-rw-r--r--src/app/shared/directives/collapse.component.spec.ts31
-rw-r--r--src/app/shared/directives/drop-down-toggle.directive.spec.ts22
-rw-r--r--src/app/shared/directives/dropdown.spec.ts15
-rw-r--r--src/app/shared/directives/dropdownnotclosablezone.spec.ts52
-rw-r--r--src/app/shared/directives/dropdownopen.spec.ts51
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