mirror of
https://github.com/ceph/ceph
synced 2025-02-19 00:47:49 +00:00
mgr/dashboard: do not show non-pool data in pool details
Fixes: https://tracker.ceph.com/issues/42674 Signed-off-by: Alfonso Martínez <almartin@redhat.com>
This commit is contained in:
parent
8cb1f6bddb
commit
9db76caf8b
@ -4,7 +4,7 @@
|
||||
<tab i18n-heading
|
||||
heading="Details">
|
||||
<cd-table-key-value [renderObjects]="true"
|
||||
[data]="selection.first()"
|
||||
[data]="filterNonPoolData(selection.first())"
|
||||
[autoReload]="false">
|
||||
</cd-table-key-value>
|
||||
</tab>
|
||||
|
@ -71,7 +71,7 @@ describe('PoolDetailsComponent', () => {
|
||||
expect(tabs[0].active).toBeTruthy();
|
||||
});
|
||||
|
||||
it('current active status of tabs should not change when selection is same with previour selection', () => {
|
||||
it('current active status of tabs should not change when selection is the same as previous selection', () => {
|
||||
fixture.detectChanges();
|
||||
const tabs = poolDetailsComponent.tabsetChild.tabs;
|
||||
expect(tabs[0].active).toBeTruthy();
|
||||
@ -80,5 +80,23 @@ describe('PoolDetailsComponent', () => {
|
||||
fixture.detectChanges();
|
||||
expect(tabs[1].active).toBeTruthy();
|
||||
});
|
||||
|
||||
it('returns pool details correctly', () => {
|
||||
const pool = { prop1: 1, cdIsBinary: true, prop2: 2, cdExecuting: true, prop3: 3 };
|
||||
const expectedPool = { prop1: 1, prop2: 2, prop3: 3 };
|
||||
|
||||
expect(poolDetailsComponent.filterNonPoolData(pool)).toEqual(expectedPool);
|
||||
});
|
||||
|
||||
it('pool data filtering is called', () => {
|
||||
const filterNonPoolDataSpy = spyOn(
|
||||
poolDetailsComponent,
|
||||
'filterNonPoolData'
|
||||
).and.callThrough();
|
||||
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(filterNonPoolDataSpy).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Component, Input, OnChanges, ViewChild } from '@angular/core';
|
||||
|
||||
import { I18n } from '@ngx-translate/i18n-polyfill';
|
||||
import * as _ from 'lodash';
|
||||
import { TabsetComponent } from 'ngx-bootstrap/tabs';
|
||||
|
||||
import { PoolService } from '../../../shared/api/pool.service';
|
||||
@ -69,4 +70,8 @@ export class PoolDetailsComponent implements OnChanges {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
filterNonPoolData(pool: object): object {
|
||||
return _.omit(pool, ['cdExecuting', 'cdIsBinary']);
|
||||
}
|
||||
}
|
||||
|
@ -75,12 +75,6 @@ describe('PoolListComponent', () => {
|
||||
expect(component.columns.every((column) => Boolean(column.prop))).toBeTruthy();
|
||||
});
|
||||
|
||||
it('returns pool details correctly', () => {
|
||||
const pool = { prop1: 1, cdIsBinary: true, prop2: 2, cdExecuting: true, prop3: 3 };
|
||||
const expected = { prop1: 1, prop2: 2, prop3: 3 };
|
||||
expect(component.getPoolDetails(pool)).toEqual(expected);
|
||||
});
|
||||
|
||||
describe('monAllowPoolDelete', () => {
|
||||
let configOptRead: boolean;
|
||||
let configurationService: ConfigurationService;
|
||||
|
@ -278,10 +278,6 @@ export class PoolListComponent implements OnInit {
|
||||
return strings.join(', ');
|
||||
}
|
||||
|
||||
getPoolDetails(pool: object) {
|
||||
return _.omit(pool, ['cdExecuting', 'cdIsBinary']);
|
||||
}
|
||||
|
||||
getSelectionTiers() {
|
||||
const cacheTierIds = this.selection.hasSingleSelection
|
||||
? this.selection.first()['tiers'] || []
|
||||
|
Loading…
Reference in New Issue
Block a user