Skip to content

Commit 4536d3d

Browse files
committed
test: fix Vitest 4 compatibility issues
1 parent fc913ea commit 4536d3d

4 files changed

Lines changed: 25 additions & 30 deletions

File tree

packages/swarm-wasp/src/common/templates.test.ts

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { FileSystem } from '@ingenyus/swarm';
12
import { beforeEach, describe, expect, it, vi } from 'vitest';
23
import { TemplateUtility } from './templates';
34

@@ -21,15 +22,7 @@ vi.mock('./strings', () => ({
2122

2223
describe('TemplateUtility', () => {
2324
let templateUtility: TemplateUtility;
24-
let mockFileSystem: {
25-
existsSync: ReturnType<typeof vi.fn>;
26-
readFileSync: ReturnType<typeof vi.fn>;
27-
writeFileSync: ReturnType<typeof vi.fn>;
28-
mkdirSync: ReturnType<typeof vi.fn>;
29-
copyFileSync: ReturnType<typeof vi.fn>;
30-
readdirSync: ReturnType<typeof vi.fn>;
31-
statSync: ReturnType<typeof vi.fn>;
32-
};
25+
let mockFileSystem: FileSystem;
3326

3427
beforeEach(() => {
3528
mockFileSystem = {
@@ -40,25 +33,27 @@ describe('TemplateUtility', () => {
4033
copyFileSync: vi.fn(),
4134
readdirSync: vi.fn(),
4235
statSync: vi.fn(),
43-
};
36+
} as FileSystem;
4437
templateUtility = new TemplateUtility(mockFileSystem);
4538
});
4639

4740
describe('processTemplate', () => {
4841
beforeEach(() => {
4942
// Mock the file system to simulate template files
50-
mockFileSystem.existsSync = vi.fn().mockImplementation((path: string) => {
51-
// Return false for test templates to force renderString usage
52-
return (
53-
!path.includes('test-template') &&
54-
!path.includes('multi-template') &&
55-
!path.includes('repeat-template') &&
56-
!path.includes('empty-template') &&
57-
!path.includes('no-placeholders')
58-
);
59-
});
43+
(mockFileSystem.existsSync as ReturnType<typeof vi.fn>) = vi
44+
.fn()
45+
.mockImplementation((path: string) => {
46+
// Return false for test templates to force renderString usage
47+
return (
48+
!path.includes('test-template') &&
49+
!path.includes('multi-template') &&
50+
!path.includes('repeat-template') &&
51+
!path.includes('empty-template') &&
52+
!path.includes('no-placeholders')
53+
);
54+
});
6055

61-
mockFileSystem.readFileSync = vi
56+
(mockFileSystem.readFileSync as ReturnType<typeof vi.fn>) = vi
6257
.fn()
6358
.mockImplementation((path: string) => {
6459
if (path.includes('test-template.eta')) {

packages/swarm-wasp/src/generators/action/action-generator.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ vi.mock('../../common', async () => {
2828
getFeatureDir: vi.fn((fs, path) => `/test-project/src/features/${path}`),
2929
getFeatureImportPath: vi.fn((path) => path),
3030
ensureDirectoryExists: vi.fn(),
31-
TemplateUtility: vi.fn().mockImplementation(() => ({
32-
processTemplate: vi.fn(),
33-
resolveTemplatePath: vi.fn(),
34-
})),
31+
TemplateUtility: function MockTemplateUtility(this: any) {
32+
this.processTemplate = vi.fn();
33+
this.resolveTemplatePath = vi.fn();
34+
},
3535
};
3636
});
3737

packages/swarm-wasp/src/generators/query/query-generator.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ vi.mock('../../common', async () => {
2828
getFeatureDir: vi.fn((fs, path) => `/test-project/src/features/${path}`),
2929
getFeatureImportPath: vi.fn((path) => path),
3030
ensureDirectoryExists: vi.fn(),
31-
TemplateUtility: vi.fn().mockImplementation(() => ({
32-
processTemplate: vi.fn(),
33-
resolveTemplatePath: vi.fn(),
34-
})),
31+
TemplateUtility: function MockTemplateUtility(this: any) {
32+
this.processTemplate = vi.fn();
33+
this.resolveTemplatePath = vi.fn();
34+
},
3535
};
3636
});
3737

packages/swarm-wasp/tests/utils/wasp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ let testCounter = 0;
2020
export function createTestWaspProject(): TestProjectPaths {
2121
const outDir = getOutDirectory();
2222

23-
const projectName = `test-project-${Date.now()}-${testCounter++}`;
23+
const projectName = `test-project-${Date.now()}-${testCounter++}-${process.pid}`;
2424
const root = path.join(outDir, projectName);
2525

2626
// Create root directory first

0 commit comments

Comments
 (0)