apex-mutation-testing
Version:
Apex mutation testing plugin
37 lines • 1.45 kB
JavaScript
import { ApexClassRepository } from '../adapter/apexClassRepository.js';
export class ApexClassValidator {
connection;
apexClassRepository;
constructor(connection) {
this.connection = connection;
this.apexClassRepository = new ApexClassRepository(this.connection);
}
async validateApexClass(apexClassName) {
const errors = [];
const apexClass = await this.apexClassRepository.read(apexClassName);
if (!apexClass) {
errors.push(`Apex class ${apexClassName} not found`);
}
return errors;
}
async validateApexTestClass(apexTestClassName) {
const errors = [];
const apexTestClass = (await this.apexClassRepository.read(apexTestClassName));
if (!apexTestClass) {
errors.push(`Apex test class ${apexTestClassName} not found`);
}
else if (!apexTestClass.Body.toLowerCase().includes('@istest')) {
errors.push(`Apex test class ${apexTestClassName} is not annotated with @isTest`);
}
return errors;
}
async validate({ apexClassName, apexTestClassName, }) {
const errors = [];
errors.push(...(await this.validateApexClass(apexClassName)));
errors.push(...(await this.validateApexTestClass(apexTestClassName)));
if (errors.length > 0) {
throw new Error(errors.join('\n'));
}
}
}
//# sourceMappingURL=apexClassValidator.js.map