aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/modals/modal.component.spec.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/angular/modals/modal.component.spec.ts')
-rw-r--r--src/angular/modals/modal.component.spec.ts105
1 files changed, 105 insertions, 0 deletions
diff --git a/src/angular/modals/modal.component.spec.ts b/src/angular/modals/modal.component.spec.ts
new file mode 100644
index 0000000..372d59d
--- /dev/null
+++ b/src/angular/modals/modal.component.spec.ts
@@ -0,0 +1,105 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { Component, Input, NgModule, ViewContainerRef, Inject, Injectable, Type, ApplicationRef, ComponentFactoryResolver, ComponentRef, EmbeddedViewRef, Injector } from '@angular/core';
+import { NO_ERRORS_SCHEMA } from '@angular/core/src/metadata/ng_module';
+import { ModalService } from './modal.service';
+import { CreateDynamicComponentService } from "../utils/create-dynamic-component.service";
+import { IModalConfig, ModalType, ModalSize } from "../../../src/angular/modals/models/modal-config";
+import { ModalInnerContent } from "../../../stories/ng2-component-lab/components/modal-inner-content-example.component";
+
+
+describe("Modal unit-tests", () => {
+ let testService: ModalService;
+ const testInputModal = {
+ size: 'xl', //'xl|l|md|sm|xsm'
+ title: 'Test_Title',
+ message: 'Test_Message',
+ modalVisible: true
+ };
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ providers:[
+ ModalService,
+ { provide : CreateDynamicComponentService, useClass: CreateDynamicComponentServiceTest}
+ ],
+ declarations: [],
+ schemas:[NO_ERRORS_SCHEMA]
+ })
+ testService = TestBed.get(ModalService);
+ }));
+
+ it('Modal should be open test', () => {
+ let modalInstance = testService.openModal(testInputModal);
+ expect(modalInstance).toBeTruthy();
+ })
+
+ it('Modal alert window test', () => {
+ let modalInstance = testService.openAlertModal('testAlert', 'testMessage');
+ expect(modalInstance).toBeTruthy();
+ })
+
+ it('Modal info window test', () => {
+ let modalInstance = testService.openErrorModal('testMessage', 'sampleTestId');
+ expect(modalInstance).toBeTruthy();
+ })
+
+
+ it('Custom Modal should be open', () => {
+ let modalConfig:IModalConfig = <IModalConfig> {
+ size: ModalSize.medium,
+ title: 'Title',
+ type: ModalType.custom,
+ buttons: [{text:"Save & Close", closeModal:true},
+ {text:"Save", callback:this.customModalOnSave, closeModal:false},
+ {text:"Cancel", type: 'secondary', closeModal:true}]
+ };
+ let modalInstance = testService.openCustomModal(modalConfig, ModalInnerContent, {name: "Sample Content"});
+ expect(modalInstance).toBeTruthy();
+ })
+
+ it('Shoul close window', () => {
+ let modalInstance = testService.openModal(testInputModal);
+ testService.closeModal();
+ expect(modalInstance.instance.modalVisible).toBeFalsy();
+ })
+})
+
+
+const testModalInstance = {
+ instance:{
+ closeAnimationComplete:{
+ subscribe:() => {
+ return true;
+ },
+ },
+ _createDynamicComponentService:{
+ insertComponentDynamically:() => {
+ return true;
+ }
+ },
+ modalVisible:true
+ },
+
+};
+
+@Component({
+ selector: 'modal-test',
+ template: `<div></div>`
+})
+
+
+
+export class CreateDynamicComponentServiceTest {
+ modalVisble: true;
+ public createComponentDynamically = (modalInstance, customData) => {
+ return testModalInstance;
+ }
+ public insertComponentDynamically = () =>{
+ return testModalInstance;
+ }
+
+}
+
+
+
+