]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/rgw/rgw-bucket-list/rgw-bucket-list.component.spec.ts
3f0bf0bcca5266d7c0bdd42783c287c6799f6d02
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / rgw / rgw-bucket-list / rgw-bucket-list.component.spec.ts
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 { ModalModule } from 'ngx-bootstrap/modal';
6 import { TabsModule } from 'ngx-bootstrap/tabs';
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 { RgwBucketDetailsComponent } from '../rgw-bucket-details/rgw-bucket-details.component';
16 import { RgwBucketListComponent } from './rgw-bucket-list.component';
17
18 describe('RgwBucketListComponent', () => {
19 let component: RgwBucketListComponent;
20 let fixture: ComponentFixture<RgwBucketListComponent>;
21
22 configureTestBed({
23 declarations: [RgwBucketListComponent, RgwBucketDetailsComponent],
24 imports: [
25 RouterTestingModule,
26 ModalModule.forRoot(),
27 SharedModule,
28 TabsModule.forRoot(),
29 HttpClientTestingModule
30 ],
31 providers: i18nProviders
32 });
33
34 beforeEach(() => {
35 fixture = TestBed.createComponent(RgwBucketListComponent);
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 const permissionHelper: PermissionHelper = new PermissionHelper(component.permission);
46 const tableActions: TableActionsComponent = permissionHelper.setPermissionsAndGetActions(
47 component.tableActions
48 );
49
50 expect(tableActions).toEqual({
51 'create,update,delete': {
52 actions: ['Create', 'Edit', 'Delete'],
53 primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Create' }
54 },
55 'create,update': {
56 actions: ['Create', 'Edit'],
57 primary: { multiple: 'Create', executing: 'Edit', single: 'Edit', no: 'Create' }
58 },
59 'create,delete': {
60 actions: ['Create', 'Delete'],
61 primary: { multiple: 'Delete', executing: 'Create', single: 'Create', no: 'Create' }
62 },
63 create: {
64 actions: ['Create'],
65 primary: { multiple: 'Create', executing: 'Create', single: 'Create', no: 'Create' }
66 },
67 'update,delete': {
68 actions: ['Edit', 'Delete'],
69 primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Edit' }
70 },
71 update: {
72 actions: ['Edit'],
73 primary: { multiple: 'Edit', executing: 'Edit', single: 'Edit', no: 'Edit' }
74 },
75 delete: {
76 actions: ['Delete'],
77 primary: { multiple: 'Delete', executing: 'Delete', single: 'Delete', no: 'Delete' }
78 },
79 'no-permissions': {
80 actions: [],
81 primary: { multiple: '', executing: '', single: '', no: '' }
82 }
83 });
84 });
85 });