});
describe('defined tasks messages', () => {
+ let defaultMsg: string;
const testMessages = (operation: TaskMessageOperation, involves: string) => {
expect(service.getRunningTitle(finishedTask)).toBe(operation.running + ' ' + involves);
expect(service.getErrorTitle(finishedTask)).toBe(
expect(service.getErrorMessage(finishedTask)).toBe(msg);
};
+ describe('pool tasks', () => {
+ beforeEach(() => {
+ const metadata = {
+ pool_name: 'somePool'
+ };
+ defaultMsg = `pool '${metadata.pool_name}'`;
+ finishedTask.metadata = metadata;
+ });
+
+ it('tests pool/create messages', () => {
+ finishedTask.name = 'pool/create';
+ testCreate(defaultMsg);
+ testErrorCode(17, `Name is already used by ${defaultMsg}.`);
+ });
+
+ it('tests pool/edit messages', () => {
+ finishedTask.name = 'pool/edit';
+ testUpdate(defaultMsg);
+ testErrorCode(17, `Name is already used by ${defaultMsg}.`);
+ });
+
+ it('tests pool/delete messages', () => {
+ finishedTask.name = 'pool/delete';
+ testDelete(defaultMsg);
+ });
+ });
+
describe('rbd tasks', () => {
- let defaultMsg: string;
let childMsg: string;
let destinationMsg: string;
let snapMsg: string;
providedIn: ServicesModule
})
export class TaskMessageService {
+ constructor() {}
+
defaultMessage = new TaskMessage(
new TaskMessageOperation('Executing', 'execute', 'Executed'),
(metadata) => {
};
messages = {
+ 'pool/create': new TaskMessage(this.commonOperations.create, this.pool, (metadata) => ({
+ '17': `Name is already used by ${this.pool(metadata)}.`
+ })),
+ 'pool/edit': new TaskMessage(this.commonOperations.update, this.pool, (metadata) => ({
+ '17': `Name is already used by ${this.pool(metadata)}.`
+ })),
+ 'pool/delete': new TaskMessage(this.commonOperations.delete, this.pool),
'rbd/create': new TaskMessage(this.commonOperations.create, this.rbd.default, (metadata) => ({
'17': `Name is already used by ${this.rbd.default(metadata)}.`
})),
)
};
- constructor() {}
+ pool(metadata) {
+ return `pool '${metadata.pool_name}'`;
+ }
_getTaskTitle(task: Task) {
return this.messages[task.name] || this.defaultMessage;