54 lines
1.7 KiB
TypeScript
54 lines
1.7 KiB
TypeScript
import { RecommendationLevel } from '@/domain/RecommendationLevel';
|
|
import { ScriptingLanguage } from '@/domain/ScriptingLanguage';
|
|
import { CategoryData, ScriptData, CollectionData, ScriptingDefinitionData } from 'js-yaml-loader!@/*';
|
|
|
|
export class CollectionDataStub implements CollectionData {
|
|
public os = 'windows';
|
|
public actions: readonly CategoryData[] = [ getCategoryStub() ];
|
|
public scripting: ScriptingDefinitionData = getTestDefinitionStub();
|
|
|
|
public withActions(actions: readonly CategoryData[]): CollectionDataStub {
|
|
this.actions = actions;
|
|
return this;
|
|
}
|
|
|
|
public withOs(os: string): CollectionDataStub {
|
|
this.os = os;
|
|
return this;
|
|
}
|
|
|
|
public withScripting(scripting: ScriptingDefinitionData): CollectionDataStub {
|
|
this.scripting = scripting;
|
|
return this;
|
|
}
|
|
}
|
|
|
|
export function getCategoryStub(scriptPrefix = 'testScript'): CategoryData {
|
|
return {
|
|
category: 'category name',
|
|
children: [
|
|
getScriptStub(`${scriptPrefix}-standard`, RecommendationLevel.Standard),
|
|
getScriptStub(`${scriptPrefix}-strict`, RecommendationLevel.Strict),
|
|
],
|
|
};
|
|
}
|
|
|
|
function getTestDefinitionStub(): ScriptingDefinitionData {
|
|
return {
|
|
fileExtension: '.bat',
|
|
language: ScriptingLanguage[ScriptingLanguage.batchfile],
|
|
startCode: 'start',
|
|
endCode: 'end',
|
|
};
|
|
}
|
|
|
|
function getScriptStub(scriptName: string, level: RecommendationLevel = RecommendationLevel.Standard): ScriptData {
|
|
return {
|
|
name: scriptName,
|
|
code: 'script code',
|
|
revertCode: 'revert code',
|
|
recommend: RecommendationLevel[level].toLowerCase(),
|
|
call: undefined,
|
|
};
|
|
}
|