1 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
2 import { HttpClientModule } from '@angular/common/http';
3 import { RouterTestingModule } from '@angular/router/testing';
5 import { of } from 'rxjs';
7 import { SharedModule } from '~/app/shared/shared.module';
8 import { NvmeofService } from '~/app/shared/api/nvmeof.service';
9 import { AuthStorageService } from '~/app/shared/services/auth-storage.service';
10 import { ModalService } from '~/app/shared/services/modal.service';
11 import { TaskWrapperService } from '~/app/shared/services/task-wrapper.service';
13 import { NvmeofInitiatorsListComponent } from './nvmeof-initiators-list.component';
15 const mockInitiators = [
21 class MockNvmeOfService {
23 return of(mockInitiators);
27 class MockAuthStorageService {
29 return { nvmeof: {} };
33 class MockModalService {}
35 class MockTaskWrapperService {}
37 describe('NvmeofInitiatorsListComponent', () => {
38 let component: NvmeofInitiatorsListComponent;
39 let fixture: ComponentFixture<NvmeofInitiatorsListComponent>;
41 beforeEach(async () => {
42 await TestBed.configureTestingModule({
43 declarations: [NvmeofInitiatorsListComponent],
44 imports: [HttpClientModule, RouterTestingModule, SharedModule],
46 { provide: NvmeofService, useClass: MockNvmeOfService },
47 { provide: AuthStorageService, useClass: MockAuthStorageService },
48 { provide: ModalService, useClass: MockModalService },
49 { provide: TaskWrapperService, useClass: MockTaskWrapperService }
51 }).compileComponents();
53 fixture = TestBed.createComponent(NvmeofInitiatorsListComponent);
54 component = fixture.componentInstance;
56 fixture.detectChanges();
59 it('should create', () => {
60 expect(component).toBeTruthy();
63 it('should retrieve initiators', fakeAsync(() => {
64 component.listInitiators();
66 expect(component.initiators).toEqual(mockInitiators);