+import { HttpHeaders } from '@angular/common/http';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
component.images = images;
refresh({ executing_tasks: [], finished_tasks: [] });
spyOn(rbdService, 'list').and.callFake(() => of([{ pool_name: 'rbd', value: images }]));
+ new HttpHeaders().set('X-Total-Count', '10');
fixture.detectChanges();
});
it('should show when an existing image is being modified', () => {
addTask('rbd/edit', 'a');
- addTask('rbd/delete', 'b');
- addTask('rbd/flatten', 'c');
- expect(component.images.length).toBe(3);
expectItemTasks(component.images[0], 'Updating');
+ addTask('rbd/delete', 'b');
expectItemTasks(component.images[1], 'Deleting');
+ addTask('rbd/flatten', 'c');
expectItemTasks(component.images[2], 'Flattening');
+ expect(component.images.length).toBe(3);
});
});
onFetchError() {
this.table.reset(); // Disable loading indicator.
+ this.tableStatus = new TableStatusViewCache(ViewCacheStatus.ValueException);
}
- getRbdImages(context: CdTableFetchDataContext = null) {
+ getRbdImages(context: CdTableFetchDataContext) {
if (context !== null) {
this.tableContext = context;
}
- if(this.tableContext == null) {
- this.tableContext = new CdTableFetchDataContext(() => {});
- }
- return this.rbdService.list(this.tableContext.toParams());
+ return this.rbdService.list(this.tableContext?.toParams());
}
prepareResponse(resp: any[]): any[] {
fetch(context: any = null) {
this.getUpdate(context).subscribe((resp: any) => {
- this.updateData(resp, this.summary['executing_tasks'].filter(this.taskFilter));
+ this.updateData(resp, this.summary?.['executing_tasks'].filter(this.taskFilter));
}, this.onFetchError);
}
private addMissing(data: any[], tasks: ExecutingTask[]) {
const defaultBuilder = this.builders['default'];
- tasks.forEach((task) => {
+ tasks?.forEach((task) => {
const existing = data.find((item) => this.itemFilter(item, task));
const builder = this.builders[task.name];
if (!existing && (builder || defaultBuilder)) {