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 { ModalModule } from 'ngx-bootstrap/modal';
7 import { TabsModule } from 'ngx-bootstrap/tabs';
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';
19 describe('RgwBucketListComponent', () => {
20 let component: RgwBucketListComponent;
21 let fixture: ComponentFixture<RgwBucketListComponent>;
24 declarations: [RgwBucketListComponent, RgwBucketDetailsComponent],
26 BrowserAnimationsModule,
28 ModalModule.forRoot(),
31 HttpClientTestingModule
33 providers: i18nProviders
37 fixture = TestBed.createComponent(RgwBucketListComponent);
38 component = fixture.componentInstance;
41 it('should create', () => {
42 fixture.detectChanges();
43 expect(component).toBeTruthy();
46 it('should test all TableActions combinations', () => {
47 const permissionHelper: PermissionHelper = new PermissionHelper(component.permission);
48 const tableActions: TableActionsComponent = permissionHelper.setPermissionsAndGetActions(
49 component.tableActions
52 expect(tableActions).toEqual({
53 'create,update,delete': {
54 actions: ['Create', 'Edit', 'Delete'],
55 primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Create' }
58 actions: ['Create', 'Edit'],
59 primary: { multiple: 'Create', executing: 'Edit', single: 'Edit', no: 'Create' }
62 actions: ['Create', 'Delete'],
63 primary: { multiple: 'Delete', executing: 'Create', single: 'Create', no: 'Create' }
67 primary: { multiple: 'Create', executing: 'Create', single: 'Create', no: 'Create' }
70 actions: ['Edit', 'Delete'],
71 primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Edit' }
75 primary: { multiple: 'Edit', executing: 'Edit', single: 'Edit', no: 'Edit' }
79 primary: { multiple: 'Delete', executing: 'Delete', single: 'Delete', no: 'Delete' }
83 primary: { multiple: '', executing: '', single: '', no: '' }