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 { TabsModule } from 'ngx-bootstrap/tabs';
7 import { ToastrModule } from 'ngx-toastr';
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 { UserTabsComponent } from '../user-tabs/user-tabs.component';
17 import { UserListComponent } from './user-list.component';
19 describe('UserListComponent', () => {
20 let component: UserListComponent;
21 let fixture: ComponentFixture<UserListComponent>;
25 BrowserAnimationsModule,
27 ToastrModule.forRoot(),
30 HttpClientTestingModule
32 declarations: [UserListComponent, UserTabsComponent],
33 providers: i18nProviders
37 fixture = TestBed.createComponent(UserListComponent);
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: 'Create', 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: 'Create', executing: 'Delete', single: 'Delete', no: 'Create' }
67 primary: { multiple: 'Create', executing: 'Create', single: 'Create', no: 'Create' }
70 actions: ['Edit', 'Delete'],
71 primary: { multiple: 'Edit', 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: '' }