1 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
3 import { NvmeofListenersListComponent } from './nvmeof-listeners-list.component';
4 import { HttpClientModule } from '@angular/common/http';
5 import { RouterTestingModule } from '@angular/router/testing';
6 import { SharedModule } from '~/app/shared/shared.module';
7 import { NvmeofService } from '~/app/shared/api/nvmeof.service';
8 import { AuthStorageService } from '~/app/shared/services/auth-storage.service';
9 import { ModalService } from '~/app/shared/services/modal.service';
10 import { TaskWrapperService } from '~/app/shared/services/task-wrapper.service';
11 import { of } from 'rxjs';
13 const mockListeners = [
15 host_name: 'ceph-node-02',
17 traddr: '192.168.100.102',
23 class MockNvmeOfService {
25 return of(mockListeners);
29 class MockAuthStorageService {
31 return { nvmeof: {} };
35 class MockModalService {}
37 class MockTaskWrapperService {}
39 describe('NvmeofListenersListComponent', () => {
40 let component: NvmeofListenersListComponent;
41 let fixture: ComponentFixture<NvmeofListenersListComponent>;
43 beforeEach(async () => {
44 await TestBed.configureTestingModule({
45 declarations: [NvmeofListenersListComponent],
46 imports: [HttpClientModule, RouterTestingModule, SharedModule],
48 { provide: NvmeofService, useClass: MockNvmeOfService },
49 { provide: AuthStorageService, useClass: MockAuthStorageService },
50 { provide: ModalService, useClass: MockModalService },
51 { provide: TaskWrapperService, useClass: MockTaskWrapperService }
53 }).compileComponents();
55 fixture = TestBed.createComponent(NvmeofListenersListComponent);
56 component = fixture.componentInstance;
58 fixture.detectChanges();
61 it('should create', () => {
62 expect(component).toBeTruthy();
65 it('should retrieve subsystems', fakeAsync(() => {
66 component.listListeners();
68 expect(component.listeners).toEqual(mockListeners);