import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; import { ConfirmModalComponent } from './confirm.modal'; import { BsModalRef, ModalModule } from 'ngx-bootstrap/modal'; // import { ModalService } from '../../../../../df/src/app/services/modal.service'; import { MultiselectDropdownModule } from 'projects/esp-common/src/lib/components/generic/multiselect-dropdown/multiselect-dropdown.module'; // import { ApolloModule } from 'apollo-angular'; import { RouterTestingModule } from '@angular/router/testing'; describe('ConfirmModal', () => { let component: ConfirmModalComponent; let fixture: ComponentFixture; let bsRef: BsModalRef; // let modalService: ModalService; beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ declarations: [ConfirmModalComponent], providers: [BsModalRef], imports: [ModalModule.forRoot(), MultiselectDropdownModule, RouterTestingModule.withRoutes([])], }).compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(ConfirmModalComponent); component = fixture.componentInstance; bsRef = TestBed.inject(BsModalRef); // modalService = TestBed.inject(ModalService); component.bsModalRef = new BsModalRef(); component.bsModalRef.content = { onClose: { next: jest.fn(), }, }; component.data = { type: 'UNSAVED', title: 'Confirm', i18n: { 'continue-wo-saving': 'Confirm without saving', 'confirm-continue': 'Confirm and continue', cancel: 'Cancel', }, }; component.bsModalRef.hide = jest.fn(); fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); it('should fire bsRef hide method onConfirm', () => { component.onConfirm(); expect(component.bsModalRef.hide).toHaveBeenCalled(); }); it('should fire bsRef hide method onClose', () => { component.onCancel(); expect(component.bsModalRef.hide).toHaveBeenCalled(); }); // it('should load ui component properties', () => { // component.data = { // title: 'Late Ordering Confirmation', // message: 'Message', // disableContinue: true, // }; // component.ngOnInit(); // expect(component.message).toBeTruthy(); // expect(component.title).toBeTruthy(); // expect(component.showDropdown).toBeTruthy(); // }); // // it('should set isConfirm to false', () => { // const event = { // singleSelectOptions: null, // }; // component.selectReason(event); // expect(component.isConfirm).toBeFalsy(); // }); });