-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { async, ComponentFixture, TestBed, inject } from '@angular/core/testing';
+import { MatTableModule } from '@angular/material/table';
+import { MatPaginatorModule } from '@angular/material/paginator';
+import { MatSortModule } from '@angular/material/sort';
+import { HttpClientModule } from '@angular/common/http';
+import { NoopAnimationsModule } from '@angular/platform-browser/animations';
+import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing';
+import { NgbModule, NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { MenusComponent } from './menus.component';
+import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component';
+import { AdminService } from '../admin.service';
describe('MenusComponent', () => {
let component: MenusComponent;
let fixture: ComponentFixture<MenusComponent>;
+ let modalService: any;
+ let modalRef: any;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ MenusComponent ]
- })
- .compileComponents();
+ declarations: [ MenusComponent, InformationModalComponent ],
+ imports: [ MatTableModule, MatPaginatorModule, MatSortModule, HttpClientModule, NoopAnimationsModule, NgbModule.forRoot() ]
+ }).
+ overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [InformationModalComponent] } });;
}));
- beforeEach(() => {
+ beforeEach(async() => {
fixture = TestBed.createComponent(MenusComponent);
component = fixture.componentInstance;
fixture.detectChanges();
+ modalService = TestBed.get(NgbModal);
+ modalRef = modalService.open(InformationModalComponent);
+ spyOn(modalService, "open").and.returnValue(modalRef);
+ spyOn(modalRef, "result").and.returnValue('Ok');
});
it('should create', () => {
expect(component).toBeTruthy();
});
+
+ it('should test getDismissReason function to call NgbModal.open function', () => {
+ component.removeMenuItem({'label': 'abc'});
+ expect(modalService.open).toHaveBeenCalled();
+ });
+
+ it('should test getDismissReason function', inject([AdminService],(adminservice) => {
+ component.getMenus();
+ expect(adminservice.getFnMenuItems).toHaveBeenCalled();
+ }));
+
});