1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { NO_ERRORS_SCHEMA } from '@angular/core';
3 import { ComponentFixture, TestBed } from '@angular/core/testing';
5 import { of } from 'rxjs';
7 import { configureTestBed, i18nProviders } from '../../../../testing/unit-test-helper';
8 import { MonitorService } from '../../../shared/api/monitor.service';
9 import { MonitorComponent } from './monitor.component';
11 describe('MonitorComponent', () => {
12 let component: MonitorComponent;
13 let fixture: ComponentFixture<MonitorComponent>;
14 let getMonitorSpy: jasmine.Spy;
17 imports: [HttpClientTestingModule],
18 declarations: [MonitorComponent],
19 schemas: [NO_ERRORS_SCHEMA],
20 providers: [MonitorService, i18nProviders]
24 fixture = TestBed.createComponent(MonitorComponent);
25 component = fixture.componentInstance;
26 const getMonitorPayload = {
29 stats: { num_sessions: [[1, 5]] }
32 stats: { num_sessions: [[1, 1], [2, 10], [3, 1]] }
35 stats: { num_sessions: [[1, 0], [2, 3]] }
38 stats: { num_sessions: [[1, 2], [2, 1], [3, 7], [4, 5]] }
44 getMonitorSpy = spyOn(TestBed.get(MonitorService), 'getMonitor').and.returnValue(
49 it('should create', () => {
50 expect(component).toBeTruthy();
53 it('should sort by open sessions column correctly', () => {
56 expect(getMonitorSpy).toHaveBeenCalled();
58 expect(component.inQuorum.columns[3].comparator(undefined, undefined)).toBe(0);
59 expect(component.inQuorum.columns[3].comparator(null, null)).toBe(0);
60 expect(component.inQuorum.columns[3].comparator([], [])).toBe(0);
62 component.inQuorum.columns[3].comparator(
63 component.inQuorum.data[0].cdOpenSessions,
64 component.inQuorum.data[3].cdOpenSessions
68 component.inQuorum.columns[3].comparator(
69 component.inQuorum.data[0].cdOpenSessions,
70 component.inQuorum.data[1].cdOpenSessions
74 component.inQuorum.columns[3].comparator(
75 component.inQuorum.data[1].cdOpenSessions,
76 component.inQuorum.data[0].cdOpenSessions
80 component.inQuorum.columns[3].comparator(
81 component.inQuorum.data[2].cdOpenSessions,
82 component.inQuorum.data[1].cdOpenSessions