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 { NvmeofSubsystemsDetailsComponent } from '../nvmeof-subsystems-details/nvmeof-subsystems-details.component';
12 import { NvmeofNamespacesListComponent } from './nvmeof-namespaces-list.component';
14 const mockNamespaces = [
17 uuid: 'f4396245-186f-401a-b71c-945ccf0f0cc9',
18 bdev_name: 'bdev_f4396245-186f-401a-b71c-945ccf0f0cc9',
19 rbd_image_name: 'string',
21 load_balancing_group: 1,
25 rw_mbytes_per_second: 0,
26 r_mbytes_per_second: 0,
27 w_mbytes_per_second: 0
31 class MockNvmeOfService {
33 return of(mockNamespaces);
37 class MockAuthStorageService {
39 return { nvmeof: {} };
43 class MockModalService {}
45 class MockTaskWrapperService {}
47 describe('NvmeofNamespacesListComponent', () => {
48 let component: NvmeofNamespacesListComponent;
49 let fixture: ComponentFixture<NvmeofNamespacesListComponent>;
51 beforeEach(async () => {
52 await TestBed.configureTestingModule({
53 declarations: [NvmeofNamespacesListComponent, NvmeofSubsystemsDetailsComponent],
54 imports: [HttpClientModule, RouterTestingModule, SharedModule],
56 { provide: NvmeofService, useClass: MockNvmeOfService },
57 { provide: AuthStorageService, useClass: MockAuthStorageService },
58 { provide: ModalService, useClass: MockModalService },
59 { provide: TaskWrapperService, useClass: MockTaskWrapperService }
61 }).compileComponents();
63 fixture = TestBed.createComponent(NvmeofNamespacesListComponent);
64 component = fixture.componentInstance;
66 component.subsystemNQN = 'nqn.2001-07.com.ceph:1721040751436';
67 fixture.detectChanges();
70 it('should create', () => {
71 expect(component).toBeTruthy();
74 it('should retrieve namespaces', fakeAsync(() => {
75 component.listNamespaces();
77 expect(component.namespaces).toEqual(mockNamespaces);