From 4971b2d5ffc077d4627eecd631c3ac6b01e9d8be Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stephan=20M=C3=BCller?= Date: Mon, 29 Oct 2018 17:40:52 +0100 Subject: [PATCH] mgr/dashboard: Simplify OSD disabled action test MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: https://tracker.ceph.com/issues/36616 Signed-off-by: Stephan Müller --- .../osd/osd-list/osd-list.component.spec.ts | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.spec.ts b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.spec.ts index 2814989c12d3d..7e8533417e1be 100644 --- a/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.spec.ts +++ b/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.spec.ts @@ -1,5 +1,4 @@ import { HttpClientTestingModule } from '@angular/common/http/testing'; -import { DebugElement } from '@angular/core'; import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; import { ReactiveFormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; @@ -14,6 +13,7 @@ import { OsdService } from '../../../../shared/api/osd.service'; import { ConfirmationModalComponent } from '../../../../shared/components/confirmation-modal/confirmation-modal.component'; import { CriticalConfirmationModalComponent } from '../../../../shared/components/critical-confirmation-modal/critical-confirmation-modal.component'; import { TableActionsComponent } from '../../../../shared/datatable/table-actions/table-actions.component'; +import { CdTableAction } from '../../../../shared/models/cd-table-action'; import { CdTableSelection } from '../../../../shared/models/cd-table-selection'; import { Permissions } from '../../../../shared/models/permissions'; import { AuthStorageService } from '../../../../shared/services/auth-storage.service'; @@ -117,25 +117,15 @@ describe('OsdListComponent', () => { }) ); - /** - * Helper function to retrieve menu item - * @param selector - */ - const getMenuItem = (selector: string): DebugElement => { - return fixture.debugElement - .query(By.directive(TableActionsComponent)) - .query(By.css(selector)); - }; + it('has all menu entries disabled', () => { + const tableActionElement = fixture.debugElement.query(By.directive(TableActionsComponent)); + const toClassName = TestBed.get(TableActionsComponent).toClassName; + const getActionClasses = (action: CdTableAction) => + tableActionElement.query(By.css('.' + toClassName(action.name))).classes; - it('has menu entries disabled for entries without create permission', () => { - component.tableActions - .filter((tableAction) => tableAction.permission !== 'create') - .map((tableAction) => tableAction.name) - .map(TestBed.get(TableActionsComponent).toClassName) - .map((className) => getMenuItem(`.${className}`)) - .forEach((debugElement) => { - expect(debugElement.classes.disabled).toBe(true); - }); + component.tableActions.forEach((action) => { + expect(getActionClasses(action).disabled).toBe(true); + }); }); }); -- 2.39.5