name: 'rbd/delete'
});
});
+
+ it('should call addRunningTask with duplicate task', () => {
+ let result = summaryService.getCurrentSummary();
+ const exec_task = new ExecutingTask('rbd/delete', {
+ pool_name: 'somePool',
+ image_name: 'someImage'
+ });
+
+ result.executing_tasks = [exec_task];
+ summaryService['summaryDataSource'].next(result);
+ result = summaryService.getCurrentSummary();
+ expect(result.executing_tasks.length).toBe(1);
+
+ summaryService.addRunningTask(exec_task);
+ result = summaryService.getCurrentSummary();
+ expect(result.executing_tasks.length).toBe(1);
+ });
});
});
}
if (_.isArray(current.executing_tasks)) {
- current.executing_tasks.push(task);
+ const exists = current.executing_tasks.find((element) => {
+ return element.name === task.name && _.isEqual(element.metadata, task.metadata);
+ });
+ if (!exists) {
+ current.executing_tasks.push(task);
+ }
} else {
current.executing_tasks = [task];
}