]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/blob
98cd5fed526c964f51c770a12bed241573551675
[ceph-ci.git] /
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';
5
6 import { ModalModule } from 'ngx-bootstrap/modal';
7 import { TabsModule } from 'ngx-bootstrap/tabs';
8
9 import {
10   configureTestBed,
11   i18nProviders,
12   PermissionHelper
13 } from '../../../../testing/unit-test-helper';
14 import { TableActionsComponent } from '../../../shared/datatable/table-actions/table-actions.component';
15 import { SharedModule } from '../../../shared/shared.module';
16 import { RgwBucketDetailsComponent } from '../rgw-bucket-details/rgw-bucket-details.component';
17 import { RgwBucketListComponent } from './rgw-bucket-list.component';
18
19 describe('RgwBucketListComponent', () => {
20   let component: RgwBucketListComponent;
21   let fixture: ComponentFixture<RgwBucketListComponent>;
22
23   configureTestBed({
24     declarations: [RgwBucketListComponent, RgwBucketDetailsComponent],
25     imports: [
26       BrowserAnimationsModule,
27       RouterTestingModule,
28       ModalModule.forRoot(),
29       SharedModule,
30       TabsModule.forRoot(),
31       HttpClientTestingModule
32     ],
33     providers: i18nProviders
34   });
35
36   beforeEach(() => {
37     fixture = TestBed.createComponent(RgwBucketListComponent);
38     component = fixture.componentInstance;
39   });
40
41   it('should create', () => {
42     fixture.detectChanges();
43     expect(component).toBeTruthy();
44   });
45
46   it('should test all TableActions combinations', () => {
47     const permissionHelper: PermissionHelper = new PermissionHelper(component.permission);
48     const tableActions: TableActionsComponent = permissionHelper.setPermissionsAndGetActions(
49       component.tableActions
50     );
51
52     expect(tableActions).toEqual({
53       'create,update,delete': {
54         actions: ['Create', 'Edit', 'Delete'],
55         primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Create' }
56       },
57       'create,update': {
58         actions: ['Create', 'Edit'],
59         primary: { multiple: 'Create', executing: 'Edit', single: 'Edit', no: 'Create' }
60       },
61       'create,delete': {
62         actions: ['Create', 'Delete'],
63         primary: { multiple: 'Delete', executing: 'Create', single: 'Create', no: 'Create' }
64       },
65       create: {
66         actions: ['Create'],
67         primary: { multiple: 'Create', executing: 'Create', single: 'Create', no: 'Create' }
68       },
69       'update,delete': {
70         actions: ['Edit', 'Delete'],
71         primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Edit' }
72       },
73       update: {
74         actions: ['Edit'],
75         primary: { multiple: 'Edit', executing: 'Edit', single: 'Edit', no: 'Edit' }
76       },
77       delete: {
78         actions: ['Delete'],
79         primary: { multiple: 'Delete', executing: 'Delete', single: 'Delete', no: 'Delete' }
80       },
81       'no-permissions': {
82         actions: [],
83         primary: { multiple: '', executing: '', single: '', no: '' }
84       }
85     });
86   });
87 });