@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
31 lines (30 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SpringTestFile = void 0;
const generate_file_1 = require("../../generate-file");
const file_system_utils_1 = require("../../../../utils/file-system-utils");
const safira_settings_1 = require("../../../../safira-project/safira-settings");
const string_utils_1 = require("../../../../utils/string-utils");
class SpringTestFile extends generate_file_1.GenerateFileTemplate {
create(projectPath) {
const testTemplates = file_system_utils_1.FileSystemUtils.buildPath(generate_file_1.GenerateFileTemplate.templatesFolder, "java", "spring", "test");
const testMustache = file_system_utils_1.FileSystemUtils.buildPath(testTemplates, "test.java.mustache");
const apiPackage = safira_settings_1.SafiraSettings.instance(file_system_utils_1.FileSystemUtils.buildPath(projectPath, ".safira")).loadSettingsFile().project.java.package;
const packageAsPath = string_utils_1.StringUtils.replaceAll(apiPackage, ".", file_system_utils_1.FileSystemUtils.getFileSeparator());
const apisFolder = file_system_utils_1.FileSystemUtils.buildPath(projectPath, "src", "main", "java", packageAsPath, "api");
const testFolder = file_system_utils_1.FileSystemUtils.buildPath(projectPath, "src", "test", "java", packageAsPath, "api");
file_system_utils_1.FileSystemUtils.createFolder(testFolder);
for (const file of file_system_utils_1.FileSystemUtils.readDir(apisFolder)
.filter(file => file.endsWith("Api.java"))) {
const className = file.replace(".java", "");
const params = {
package: `${apiPackage}.api`,
className: className,
};
const testFile = file_system_utils_1.FileSystemUtils.buildPath(testFolder, `${className}Test.java`);
if (!file_system_utils_1.FileSystemUtils.exists(testFile))
super.writeFile(testFile, testMustache, params);
}
}
}
exports.SpringTestFile = SpringTestFile;