@vlocode/apex
Version:
Salesforce APEX Parser and Grammar
42 lines • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("jest");
const core_1 = require("@vlocode/core");
const testIdentifier_1 = require("../testIdentifier");
describe('TestIdentifier', () => {
const mockFs = new core_1.MemoryFileSystem({
'src/classes/MyClass.cls': 'class MyClass { MyClass2 dependency = new MyClass2(); }',
'src/classes/MyClassTest.cls': '@isTest class MyClassTest { @isTest static void test() { new MyClass(); } }',
'src/classes/MyClass2.cls': 'class MyClass2 { }',
'src/classes/MyClassTest2.cls': '@isTest class MyClassTest2 { @isTest static void test() { new MyClass2(); } }',
});
describe('loadApexClasses', () => {
it('should load Apex classes and populate testClasses map', async () => {
// Arrange
const folders = ['src/classes'];
const testIdentifier = new testIdentifier_1.TestIdentifier(mockFs, core_1.Logger.null);
// Act
await testIdentifier.loadApexClasses(folders);
// Assert
expect(testIdentifier['testClasses'].size).toBe(2);
expect(testIdentifier['apexClassesByName'].size).toBe(4);
expect(testIdentifier['fileToApexClass'].size).toBe(4);
expect(testIdentifier['testClasses'].get('myclasstest')?.classCoverage).toEqual(['myclass']);
expect(testIdentifier['testClasses'].get('myclasstest2')?.classCoverage).toEqual(['myclass2']);
});
});
describe('getTestClasses', () => {
it('should retrieve test classes that cover a given class', async () => {
// Arrange
const folders = ['src/classes'];
const testIdentifier = new testIdentifier_1.TestIdentifier(mockFs, core_1.Logger.null);
// Act
await testIdentifier.loadApexClasses(folders);
const result = testIdentifier.getTestClasses('MyClass');
// Assert
expect(result?.length).toBe(1);
expect(result).toEqual(['MyClassTest']);
});
});
});
//# sourceMappingURL=testIndentifier.test.js.map