1 import { HttpClientTestingModule } from '@angular/common/http/testing';
2 import { ComponentFixture, TestBed } from '@angular/core/testing';
3 import { RouterTestingModule } from '@angular/router/testing';
5 import { ModalModule } from 'ngx-bootstrap/modal';
6 import { TabsModule } from 'ngx-bootstrap/tabs';
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';
18 describe('RgwBucketListComponent', () => {
19 let component: RgwBucketListComponent;
20 let fixture: ComponentFixture<RgwBucketListComponent>;
23 declarations: [RgwBucketListComponent, RgwBucketDetailsComponent],
26 ModalModule.forRoot(),
29 HttpClientTestingModule
31 providers: i18nProviders
35 fixture = TestBed.createComponent(RgwBucketListComponent);
36 component = fixture.componentInstance;
39 it('should create', () => {
40 fixture.detectChanges();
41 expect(component).toBeTruthy();
44 it('should test all TableActions combinations', () => {
45 const permissionHelper: PermissionHelper = new PermissionHelper(component.permission);
46 const tableActions: TableActionsComponent = permissionHelper.setPermissionsAndGetActions(
47 component.tableActions
50 expect(tableActions).toEqual({
51 'create,update,delete': {
52 actions: ['Create', 'Edit', 'Delete'],
53 primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Create' }
56 actions: ['Create', 'Edit'],
57 primary: { multiple: 'Create', executing: 'Edit', single: 'Edit', no: 'Create' }
60 actions: ['Create', 'Delete'],
61 primary: { multiple: 'Delete', executing: 'Create', single: 'Create', no: 'Create' }
65 primary: { multiple: 'Create', executing: 'Create', single: 'Create', no: 'Create' }
68 actions: ['Edit', 'Delete'],
69 primary: { multiple: 'Delete', executing: 'Edit', single: 'Edit', no: 'Edit' }
73 primary: { multiple: 'Edit', executing: 'Edit', single: 'Edit', no: 'Edit' }
77 primary: { multiple: 'Delete', executing: 'Delete', single: 'Delete', no: 'Delete' }
81 primary: { multiple: '', executing: '', single: '', no: '' }