1 import { ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing';
2 import { HttpClientModule } from '@angular/common/http';
3 import { of } from 'rxjs';
4 import { RouterTestingModule } from '@angular/router/testing';
5 import { SharedModule } from '~/app/shared/shared.module';
7 import { NvmeofService } from '../../../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 { NvmeofSubsystemsComponent } from './nvmeof-subsystems.component';
12 import { NvmeofTabsComponent } from '../nvmeof-tabs/nvmeof-tabs.component';
13 import { NvmeofSubsystemsDetailsComponent } from '../nvmeof-subsystems-details/nvmeof-subsystems-details.component';
15 const mockSubsystems = [
17 nqn: 'nqn.2001-07.com.ceph:1720603703820',
19 serial_number: 'Ceph30487186726692',
20 model_number: 'Ceph bdev Controller',
29 class MockNvmeOfService {
31 return of(mockSubsystems);
35 class MockAuthStorageService {
37 return { nvmeof: {} };
41 class MockModalService {}
43 class MockTaskWrapperService {}
45 describe('NvmeofSubsystemsComponent', () => {
46 let component: NvmeofSubsystemsComponent;
47 let fixture: ComponentFixture<NvmeofSubsystemsComponent>;
49 beforeEach(async () => {
50 await TestBed.configureTestingModule({
52 NvmeofSubsystemsComponent,
54 NvmeofSubsystemsDetailsComponent
56 imports: [HttpClientModule, RouterTestingModule, SharedModule],
58 { provide: NvmeofService, useClass: MockNvmeOfService },
59 { provide: AuthStorageService, useClass: MockAuthStorageService },
60 { provide: ModalService, useClass: MockModalService },
61 { provide: TaskWrapperService, useClass: MockTaskWrapperService }
63 }).compileComponents();
65 fixture = TestBed.createComponent(NvmeofSubsystemsComponent);
66 component = fixture.componentInstance;
68 fixture.detectChanges();
71 it('should create', () => {
72 expect(component).toBeTruthy();
75 it('should retrieve subsystems', fakeAsync(() => {
76 component.getSubsystems();
78 expect(component.subsystems).toEqual(mockSubsystems);