]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
e0ec0568da1fb6fe705a6905b1ac3c9ce2ccb6cf
[ceph.git] /
1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { RouterTestingModule } from '@angular/router/testing';
4
5 import { TabsModule } from 'ngx-bootstrap/tabs';
6 import { ToastrModule } from 'ngx-toastr';
7
8 import {
9   configureTestBed,
10   i18nProviders,
11   PermissionHelper
12 } from '../../../../../testing/unit-test-helper';
13 import { TableActionsComponent } from '../../../../shared/datatable/table-actions/table-actions.component';
14 import { SharedModule } from '../../../../shared/shared.module';
15 import { PrometheusTabsComponent } from '../prometheus-tabs/prometheus-tabs.component';
16 import { AlertListComponent } from './alert-list.component';
17
18 describe('AlertListComponent', () => {
19   let component: AlertListComponent;
20   let fixture: ComponentFixture<AlertListComponent>;
21
22   configureTestBed({
23     imports: [
24       HttpClientTestingModule,
25       TabsModule.forRoot(),
26       RouterTestingModule,
27       ToastrModule.forRoot(),
28       SharedModule
29     ],
30     declarations: [AlertListComponent, PrometheusTabsComponent],
31     providers: [i18nProviders]
32   });
33
34   beforeEach(() => {
35     fixture = TestBed.createComponent(AlertListComponent);
36     component = fixture.componentInstance;
37   });
38
39   it('should create', () => {
40     fixture.detectChanges();
41     expect(component).toBeTruthy();
42   });
43
44   it('should test all TableActions combinations', () => {
45     component.ngOnInit();
46     const permissionHelper: PermissionHelper = new PermissionHelper(component.permission);
47     const tableActions: TableActionsComponent = permissionHelper.setPermissionsAndGetActions(
48       component.tableActions
49     );
50
51     expect(tableActions).toEqual({
52       'create,update,delete': {
53         actions: ['Create silence'],
54         primary: {
55           multiple: 'Create silence',
56           executing: 'Create silence',
57           single: 'Create silence',
58           no: 'Create silence'
59         }
60       },
61       'create,update': {
62         actions: ['Create silence'],
63         primary: {
64           multiple: 'Create silence',
65           executing: 'Create silence',
66           single: 'Create silence',
67           no: 'Create silence'
68         }
69       },
70       'create,delete': {
71         actions: ['Create silence'],
72         primary: {
73           multiple: 'Create silence',
74           executing: 'Create silence',
75           single: 'Create silence',
76           no: 'Create silence'
77         }
78       },
79       create: {
80         actions: ['Create silence'],
81         primary: {
82           multiple: 'Create silence',
83           executing: 'Create silence',
84           single: 'Create silence',
85           no: 'Create silence'
86         }
87       },
88       'update,delete': {
89         actions: [],
90         primary: { multiple: '', executing: '', single: '', no: '' }
91       },
92       update: { actions: [], primary: { multiple: '', executing: '', single: '', no: '' } },
93       delete: { actions: [], primary: { multiple: '', executing: '', single: '', no: '' } },
94       'no-permissions': {
95         actions: [],
96         primary: { multiple: '', executing: '', single: '', no: '' }
97       }
98     });
99   });
100 });