1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
4 import { RouterTestingModule } from '@angular/router/testing';
6 import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap';
7 import { ToastrModule } from 'ngx-toastr';
9 import { CephModule } from '~/app/ceph/ceph.module';
10 import { ClusterModule } from '~/app/ceph/cluster/cluster.module';
11 import { DashboardModule } from '~/app/ceph/dashboard/dashboard.module';
12 import { CoreModule } from '~/app/core/core.module';
13 import { TableActionsComponent } from '~/app/shared/datatable/table-actions/table-actions.component';
14 import { SharedModule } from '~/app/shared/shared.module';
15 import { configureTestBed, PermissionHelper } from '~/testing/unit-test-helper';
16 import { ActiveAlertListComponent } from './active-alert-list.component';
17 import { PrometheusAlertService } from '~/app/shared/services/prometheus-alert.service';
18 import { of } from 'rxjs';
20 describe('ActiveAlertListComponent', () => {
21 let component: ActiveAlertListComponent;
22 let fixture: ComponentFixture<ActiveAlertListComponent>;
26 BrowserAnimationsModule,
27 HttpClientTestingModule,
30 ToastrModule.forRoot(),
40 fixture = TestBed.createComponent(ActiveAlertListComponent);
41 component = fixture.componentInstance;
42 let prometheusAlertService = TestBed.inject(PrometheusAlertService);
43 spyOn(prometheusAlertService, 'getAlerts').and.callFake(() => of([]));
46 it('should create', () => {
47 fixture.detectChanges();
48 expect(component).toBeTruthy();
51 it('should test all TableActions combinations', () => {
53 const permissionHelper: PermissionHelper = new PermissionHelper(component.permission);
54 const tableActions: TableActionsComponent = permissionHelper.setPermissionsAndGetActions(
55 component.tableActions
58 expect(tableActions).toEqual({
59 'create,update,delete': {
60 actions: ['Create Silence'],
62 multiple: 'Create Silence',
63 executing: 'Create Silence',
64 single: 'Create Silence',
69 actions: ['Create Silence'],
71 multiple: 'Create Silence',
72 executing: 'Create Silence',
73 single: 'Create Silence',
78 actions: ['Create Silence'],
80 multiple: 'Create Silence',
81 executing: 'Create Silence',
82 single: 'Create Silence',
87 actions: ['Create Silence'],
89 multiple: 'Create Silence',
90 executing: 'Create Silence',
91 single: 'Create Silence',
97 primary: { multiple: '', executing: '', single: '', no: '' }
99 update: { actions: [], primary: { multiple: '', executing: '', single: '', no: '' } },
100 delete: { actions: [], primary: { multiple: '', executing: '', single: '', no: '' } },
103 primary: { multiple: '', executing: '', single: '', no: '' }