@mdfriday/foundry 25.8.8 → 25.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/application/incremental-build-coordinator.d.ts +2 -0
- package/dist/internal/application/incremental-build-coordinator.d.ts.map +1 -1
- package/dist/internal/application/incremental-build-coordinator.js +2 -2
- package/dist/internal/application/incremental-build-coordinator.js.map +1 -1
- package/dist/internal/application/ssg.d.ts +6 -5
- package/dist/internal/application/ssg.d.ts.map +1 -1
- package/dist/internal/application/ssg.js +12 -11
- package/dist/internal/application/ssg.js.map +1 -1
- package/dist/internal/domain/config/tests/entity-config.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/entity-config.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/entity-config.test.js +199 -0
- package/dist/internal/domain/config/tests/entity-config.test.js.map +1 -0
- package/dist/internal/domain/config/tests/entity-root.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/entity-root.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/entity-root.test.js +235 -0
- package/dist/internal/domain/config/tests/entity-root.test.js.map +1 -0
- package/dist/internal/domain/config/tests/factory-config.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/factory-config.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/factory-config.test.js +84 -0
- package/dist/internal/domain/config/tests/factory-config.test.js.map +1 -0
- package/dist/internal/domain/config/tests/index.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/index.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/index.test.js +197 -0
- package/dist/internal/domain/config/tests/index.test.js.map +1 -0
- package/dist/internal/domain/config/tests/mock-fs.d.ts +26 -0
- package/dist/internal/domain/config/tests/mock-fs.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/mock-fs.js +281 -0
- package/dist/internal/domain/config/tests/mock-fs.js.map +1 -0
- package/dist/internal/domain/config/tests/type.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/type.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/type.test.js +272 -0
- package/dist/internal/domain/config/tests/type.test.js.map +1 -0
- package/dist/internal/domain/config/tests/vo-module.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/vo-module.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/vo-module.test.js +267 -0
- package/dist/internal/domain/config/tests/vo-module.test.js.map +1 -0
- package/dist/internal/domain/config/tests/vo-root.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/vo-root.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/vo-root.test.js +165 -0
- package/dist/internal/domain/config/tests/vo-root.test.js.map +1 -0
- package/dist/internal/domain/config/tests/vo-service.test.d.ts +2 -0
- package/dist/internal/domain/config/tests/vo-service.test.d.ts.map +1 -0
- package/dist/internal/domain/config/tests/vo-service.test.js +266 -0
- package/dist/internal/domain/config/tests/vo-service.test.js.map +1 -0
- package/dist/internal/domain/content/factory/hub.js +1 -1
- package/dist/internal/domain/content/factory/hub.js.map +1 -1
- package/dist/internal/domain/content/type.d.ts +2 -1
- package/dist/internal/domain/content/type.d.ts.map +1 -1
- package/dist/internal/domain/content/type.js.map +1 -1
- package/dist/internal/domain/fs/entity/overlayfs.js +1 -1
- package/dist/internal/domain/fs/entity/overlayfs.js.map +1 -1
- package/dist/internal/domain/fs/tests/entity-basefs.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/entity-basefs.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/entity-basefs.test.js +279 -0
- package/dist/internal/domain/fs/tests/entity-basefs.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/entity-fs.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/entity-fs.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/entity-fs.test.js +230 -0
- package/dist/internal/domain/fs/tests/entity-fs.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/entity-originfs.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/entity-originfs.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/entity-originfs.test.js +47 -0
- package/dist/internal/domain/fs/tests/entity-originfs.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/entity-overlaydir.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/entity-overlaydir.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/entity-overlaydir.test.js +293 -0
- package/dist/internal/domain/fs/tests/entity-overlaydir.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/entity-overlayfs.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/entity-overlayfs.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/entity-overlayfs.test.js +281 -0
- package/dist/internal/domain/fs/tests/entity-overlayfs.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/entity-service.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/entity-service.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/entity-service.test.js +43 -0
- package/dist/internal/domain/fs/tests/entity-service.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/factory-fs.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/factory-fs.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/factory-fs.test.js +105 -0
- package/dist/internal/domain/fs/tests/factory-fs.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/type.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/type.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/type.test.js +113 -0
- package/dist/internal/domain/fs/tests/type.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-dir.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-dir.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-dir.test.js +211 -0
- package/dist/internal/domain/fs/tests/vo-dir.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-file.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-file.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-file.test.js +256 -0
- package/dist/internal/domain/fs/tests/vo-file.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-fileinfo.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-fileinfo.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-fileinfo.test.js +165 -0
- package/dist/internal/domain/fs/tests/vo-fileinfo.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-filemeta.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-filemeta.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-filemeta.test.js +171 -0
- package/dist/internal/domain/fs/tests/vo-filemeta.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js +298 -0
- package/dist/internal/domain/fs/tests/vo-filesystemscollector.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-filevitural.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-filevitural.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-filevitural.test.js +167 -0
- package/dist/internal/domain/fs/tests/vo-filevitural.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js +396 -0
- package/dist/internal/domain/fs/tests/vo-incremental-file-collector.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-osfs.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-osfs.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-osfs.test.js +363 -0
- package/dist/internal/domain/fs/tests/vo-osfs.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.js +430 -0
- package/dist/internal/domain/fs/tests/vo-overlayfs-factory.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-overlayoptions.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-overlayoptions.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-overlayoptions.test.js +402 -0
- package/dist/internal/domain/fs/tests/vo-overlayoptions.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-static-copier.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-static-copier.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-static-copier.test.js +320 -0
- package/dist/internal/domain/fs/tests/vo-static-copier.test.js.map +1 -0
- package/dist/internal/domain/fs/tests/vo-walkway.test.d.ts +2 -0
- package/dist/internal/domain/fs/tests/vo-walkway.test.d.ts.map +1 -0
- package/dist/internal/domain/fs/tests/vo-walkway.test.js +295 -0
- package/dist/internal/domain/fs/tests/vo-walkway.test.js.map +1 -0
- package/dist/internal/domain/markdown/entity/markdown.d.ts +0 -21
- package/dist/internal/domain/markdown/entity/markdown.d.ts.map +1 -1
- package/dist/internal/domain/markdown/entity/markdown.js +2 -35
- package/dist/internal/domain/markdown/entity/markdown.js.map +1 -1
- package/dist/internal/domain/markdown/factory/markdown.d.ts +2 -38
- package/dist/internal/domain/markdown/factory/markdown.d.ts.map +1 -1
- package/dist/internal/domain/markdown/factory/markdown.js +2 -70
- package/dist/internal/domain/markdown/factory/markdown.js.map +1 -1
- package/dist/internal/domain/markdown/index.d.ts +0 -3
- package/dist/internal/domain/markdown/index.d.ts.map +1 -1
- package/dist/internal/domain/markdown/index.js +0 -3
- package/dist/internal/domain/markdown/index.js.map +1 -1
- package/dist/internal/domain/markdown/type.d.ts +1 -16
- package/dist/internal/domain/markdown/type.d.ts.map +1 -1
- package/dist/internal/domain/markdown/type.js.map +1 -1
- package/dist/internal/domain/markdown/vo/parserresult.d.ts +1 -60
- package/dist/internal/domain/markdown/vo/parserresult.d.ts.map +1 -1
- package/dist/internal/domain/markdown/vo/parserresult.js +1 -174
- package/dist/internal/domain/markdown/vo/parserresult.js.map +1 -1
- package/dist/internal/domain/paths/test/pathoperations.test.js +1 -1
- package/dist/internal/domain/paths/test/pathoperations.test.js.map +1 -1
- package/dist/internal/domain/template/vo/registry.d.ts.map +1 -1
- package/dist/internal/domain/template/vo/registry.js +33 -0
- package/dist/internal/domain/template/vo/registry.js.map +1 -1
- package/dist/pkg/log/manager.js +1 -1
- package/package.json +2 -25
- package/dist/internal/application/test-incremental-ssg.d.ts +0 -9
- package/dist/internal/application/test-incremental-ssg.d.ts.map +0 -1
- package/dist/internal/application/test-incremental-ssg.js +0 -83
- package/dist/internal/application/test-incremental-ssg.js.map +0 -1
- package/dist/internal/application/test-ssg.d.ts +0 -8
- package/dist/internal/application/test-ssg.d.ts.map +0 -1
- package/dist/internal/application/test-ssg.js +0 -30
- package/dist/internal/application/test-ssg.js.map +0 -1
- package/dist/internal/domain/markdown/test/external-adapter.test.d.ts +0 -2
- package/dist/internal/domain/markdown/test/external-adapter.test.d.ts.map +0 -1
- package/dist/internal/domain/markdown/test/external-adapter.test.js +0 -150
- package/dist/internal/domain/markdown/test/external-adapter.test.js.map +0 -1
- package/dist/internal/domain/markdown/test/markdown.test.d.ts +0 -2
- package/dist/internal/domain/markdown/test/markdown.test.d.ts.map +0 -1
- package/dist/internal/domain/markdown/test/markdown.test.js +0 -88
- package/dist/internal/domain/markdown/test/markdown.test.js.map +0 -1
- package/dist/internal/domain/markdown/vo/externaladapter.d.ts +0 -63
- package/dist/internal/domain/markdown/vo/externaladapter.d.ts.map +0 -1
- package/dist/internal/domain/markdown/vo/externaladapter.js +0 -194
- package/dist/internal/domain/markdown/vo/externaladapter.js.map +0 -1
- package/dist/internal/domain/markdown/vo/markdownit.d.ts +0 -33
- package/dist/internal/domain/markdown/vo/markdownit.d.ts.map +0 -1
- package/dist/internal/domain/markdown/vo/markdownit.js +0 -175
- package/dist/internal/domain/markdown/vo/markdownit.js.map +0 -1
- package/dist/pkg/web/server/example.d.ts +0 -2
- package/dist/pkg/web/server/example.d.ts.map +0 -1
- package/dist/pkg/web/server/example.js +0 -43
- package/dist/pkg/web/server/example.js.map +0 -1
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const basefs_1 = require("../entity/basefs");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
// Mock dependencies
|
|
39
|
+
jest.mock('../vo/filemeta');
|
|
40
|
+
jest.mock('../vo/fileinfo');
|
|
41
|
+
jest.mock('../vo/file');
|
|
42
|
+
jest.mock('../vo/dir');
|
|
43
|
+
jest.mock('@pkg/log');
|
|
44
|
+
describe('BaseFs Entity', () => {
|
|
45
|
+
let mockFs;
|
|
46
|
+
let baseFs;
|
|
47
|
+
let roots;
|
|
48
|
+
beforeEach(() => {
|
|
49
|
+
roots = ['/root1', '/root2'];
|
|
50
|
+
mockFs = {
|
|
51
|
+
create: jest.fn(),
|
|
52
|
+
mkdir: jest.fn(),
|
|
53
|
+
mkdirAll: jest.fn(),
|
|
54
|
+
open: jest.fn(),
|
|
55
|
+
openFile: jest.fn(),
|
|
56
|
+
remove: jest.fn(),
|
|
57
|
+
removeAll: jest.fn(),
|
|
58
|
+
rename: jest.fn(),
|
|
59
|
+
stat: jest.fn(),
|
|
60
|
+
name: jest.fn().mockReturnValue('MockFs'),
|
|
61
|
+
chmod: jest.fn(),
|
|
62
|
+
chown: jest.fn(),
|
|
63
|
+
chtimes: jest.fn(),
|
|
64
|
+
};
|
|
65
|
+
baseFs = new basefs_1.BaseFs(mockFs, roots);
|
|
66
|
+
});
|
|
67
|
+
afterEach(() => {
|
|
68
|
+
jest.clearAllMocks();
|
|
69
|
+
});
|
|
70
|
+
describe('constructor', () => {
|
|
71
|
+
it('should initialize with filesystem and roots', () => {
|
|
72
|
+
expect(baseFs.fs).toBe(mockFs);
|
|
73
|
+
expect(baseFs.roots).toBe(roots);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('toAbsolutePath', () => {
|
|
77
|
+
it('should return name when no roots are provided', () => {
|
|
78
|
+
const emptyRootsFs = new basefs_1.BaseFs(mockFs, []);
|
|
79
|
+
const result = emptyRootsFs.toAbsolutePath('test.txt');
|
|
80
|
+
expect(result).toBe('test.txt');
|
|
81
|
+
});
|
|
82
|
+
it('should return root when name is empty', () => {
|
|
83
|
+
const result = baseFs.toAbsolutePath('');
|
|
84
|
+
expect(result).toBe('/root1');
|
|
85
|
+
});
|
|
86
|
+
it('should join root with relative path', () => {
|
|
87
|
+
const result = baseFs.toAbsolutePath('test.txt');
|
|
88
|
+
expect(result).toBe(path.join('/root1', 'test.txt'));
|
|
89
|
+
});
|
|
90
|
+
it('should return absolute path when it starts with root', () => {
|
|
91
|
+
const absPath = '/root1/test.txt';
|
|
92
|
+
const result = baseFs.toAbsolutePath(absPath);
|
|
93
|
+
expect(result).toBe(absPath);
|
|
94
|
+
});
|
|
95
|
+
it('should treat absolute path as relative when it does not start with root', () => {
|
|
96
|
+
const result = baseFs.toAbsolutePath('/other/test.txt');
|
|
97
|
+
expect(result).toBe(path.join('/root1', 'other/test.txt'));
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
describe('getRoot', () => {
|
|
101
|
+
it('should return matching root for given name', () => {
|
|
102
|
+
const result = baseFs.getRoot('/root2/test.txt');
|
|
103
|
+
expect(result).toBe('/root2');
|
|
104
|
+
});
|
|
105
|
+
it('should return first matching root', () => {
|
|
106
|
+
const result = baseFs.getRoot('/root1/test.txt');
|
|
107
|
+
expect(result).toBe('/root1');
|
|
108
|
+
});
|
|
109
|
+
it('should return empty string when no root matches', () => {
|
|
110
|
+
const result = baseFs.getRoot('/other/test.txt');
|
|
111
|
+
expect(result).toBe('');
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
describe('stat', () => {
|
|
115
|
+
it('should stat file and return FileInfo with metadata', async () => {
|
|
116
|
+
const mockFileInfo = {
|
|
117
|
+
isDir: jest.fn().mockReturnValue(false),
|
|
118
|
+
name: jest.fn().mockReturnValue('test.txt'),
|
|
119
|
+
size: jest.fn().mockReturnValue(100),
|
|
120
|
+
mode: jest.fn().mockReturnValue(0o644),
|
|
121
|
+
modTime: jest.fn().mockReturnValue(new Date()),
|
|
122
|
+
sys: jest.fn().mockReturnValue(null),
|
|
123
|
+
};
|
|
124
|
+
const mockWrappedFileInfo = {
|
|
125
|
+
meta: jest.fn().mockReturnValue({
|
|
126
|
+
setOpenFunc: jest.fn(),
|
|
127
|
+
setComponentRoot: jest.fn(),
|
|
128
|
+
}),
|
|
129
|
+
};
|
|
130
|
+
mockFs.stat.mockResolvedValue(mockFileInfo);
|
|
131
|
+
const { newFileInfo } = require('../vo/fileinfo');
|
|
132
|
+
newFileInfo.mockReturnValue(mockWrappedFileInfo);
|
|
133
|
+
const result = await baseFs.stat('test.txt');
|
|
134
|
+
expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
|
|
135
|
+
expect(newFileInfo).toHaveBeenCalledWith(mockFileInfo, path.join('/root1', 'test.txt'));
|
|
136
|
+
expect(mockWrappedFileInfo.meta().setComponentRoot).toHaveBeenCalledWith('/root1');
|
|
137
|
+
expect(mockWrappedFileInfo.meta().setOpenFunc).toHaveBeenCalled();
|
|
138
|
+
expect(result).toBe(mockWrappedFileInfo);
|
|
139
|
+
});
|
|
140
|
+
it('should stat directory and return FileInfo with directory opener', async () => {
|
|
141
|
+
const mockFileInfo = {
|
|
142
|
+
isDir: jest.fn().mockReturnValue(true),
|
|
143
|
+
name: jest.fn().mockReturnValue('testdir'),
|
|
144
|
+
size: jest.fn().mockReturnValue(0),
|
|
145
|
+
mode: jest.fn().mockReturnValue(0o755),
|
|
146
|
+
modTime: jest.fn().mockReturnValue(new Date()),
|
|
147
|
+
sys: jest.fn().mockReturnValue(null),
|
|
148
|
+
};
|
|
149
|
+
const mockWrappedFileInfo = {
|
|
150
|
+
meta: jest.fn().mockReturnValue({
|
|
151
|
+
setOpenFunc: jest.fn(),
|
|
152
|
+
}),
|
|
153
|
+
};
|
|
154
|
+
mockFs.stat.mockResolvedValue(mockFileInfo);
|
|
155
|
+
const { newFileInfo } = require('../vo/fileinfo');
|
|
156
|
+
newFileInfo.mockReturnValue(mockWrappedFileInfo);
|
|
157
|
+
const result = await baseFs.stat('testdir');
|
|
158
|
+
expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'testdir'));
|
|
159
|
+
expect(newFileInfo).toHaveBeenCalledWith(mockFileInfo, path.join('/root1', 'testdir'));
|
|
160
|
+
expect(mockWrappedFileInfo.meta().setOpenFunc).toHaveBeenCalled();
|
|
161
|
+
expect(result).toBe(mockWrappedFileInfo);
|
|
162
|
+
});
|
|
163
|
+
it('should propagate errors from underlying filesystem', async () => {
|
|
164
|
+
const error = new Error('File not found');
|
|
165
|
+
mockFs.stat.mockRejectedValue(error);
|
|
166
|
+
await expect(baseFs.stat('nonexistent.txt')).rejects.toThrow(error);
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
describe('open', () => {
|
|
170
|
+
it('should open file when it is not a directory', async () => {
|
|
171
|
+
const mockFileInfo = {
|
|
172
|
+
isDir: jest.fn().mockReturnValue(false),
|
|
173
|
+
name: jest.fn().mockReturnValue('test.txt'),
|
|
174
|
+
size: jest.fn().mockReturnValue(100),
|
|
175
|
+
mode: jest.fn().mockReturnValue(0o644),
|
|
176
|
+
modTime: jest.fn().mockReturnValue(new Date()),
|
|
177
|
+
sys: jest.fn().mockReturnValue(null),
|
|
178
|
+
};
|
|
179
|
+
const mockFile = {};
|
|
180
|
+
mockFs.stat.mockResolvedValue(mockFileInfo);
|
|
181
|
+
mockFs.open.mockResolvedValue(mockFile);
|
|
182
|
+
const mockWrappedFile = {};
|
|
183
|
+
const { newFileWithMeta } = require('../vo/file');
|
|
184
|
+
const { newFileMeta } = require('../vo/filemeta');
|
|
185
|
+
newFileMeta.mockReturnValue({ setComponentRoot: jest.fn() });
|
|
186
|
+
newFileWithMeta.mockReturnValue(mockWrappedFile);
|
|
187
|
+
const result = await baseFs.open('test.txt');
|
|
188
|
+
expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
|
|
189
|
+
expect(result).toBe(mockWrappedFile);
|
|
190
|
+
});
|
|
191
|
+
it('should open directory when it is a directory', async () => {
|
|
192
|
+
const mockFileInfo = {
|
|
193
|
+
isDir: jest.fn().mockReturnValue(true),
|
|
194
|
+
name: jest.fn().mockReturnValue('testdir'),
|
|
195
|
+
size: jest.fn().mockReturnValue(0),
|
|
196
|
+
mode: jest.fn().mockReturnValue(0o755),
|
|
197
|
+
modTime: jest.fn().mockReturnValue(new Date()),
|
|
198
|
+
sys: jest.fn().mockReturnValue(null),
|
|
199
|
+
};
|
|
200
|
+
const mockFile = {};
|
|
201
|
+
mockFs.stat.mockResolvedValue(mockFileInfo);
|
|
202
|
+
mockFs.open.mockResolvedValue(mockFile);
|
|
203
|
+
const mockDirFile = {};
|
|
204
|
+
const { newDirFile } = require('../vo/dir');
|
|
205
|
+
const { newFileMeta } = require('../vo/filemeta');
|
|
206
|
+
newFileMeta.mockReturnValue({ setComponentRoot: jest.fn() });
|
|
207
|
+
newDirFile.mockReturnValue(mockDirFile);
|
|
208
|
+
const result = await baseFs.open('testdir');
|
|
209
|
+
expect(mockFs.stat).toHaveBeenCalledWith(path.join('/root1', 'testdir'));
|
|
210
|
+
expect(result).toBe(mockDirFile);
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
describe('filesystem delegation methods', () => {
|
|
214
|
+
it('should delegate create with absolute path', async () => {
|
|
215
|
+
const mockFile = {};
|
|
216
|
+
mockFs.create.mockResolvedValue(mockFile);
|
|
217
|
+
const result = await baseFs.create('test.txt');
|
|
218
|
+
expect(mockFs.create).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
|
|
219
|
+
expect(result).toBe(mockFile);
|
|
220
|
+
});
|
|
221
|
+
it('should delegate mkdir with absolute path', async () => {
|
|
222
|
+
await baseFs.mkdir('testdir', 0o755);
|
|
223
|
+
expect(mockFs.mkdir).toHaveBeenCalledWith(path.join('/root1', 'testdir'), 0o755);
|
|
224
|
+
});
|
|
225
|
+
it('should delegate mkdirAll with absolute path', async () => {
|
|
226
|
+
await baseFs.mkdirAll('test/deep/dir', 0o755);
|
|
227
|
+
expect(mockFs.mkdirAll).toHaveBeenCalledWith(path.join('/root1', 'test/deep/dir'), 0o755);
|
|
228
|
+
});
|
|
229
|
+
it('should delegate openFile with absolute path', async () => {
|
|
230
|
+
const mockFile = {};
|
|
231
|
+
mockFs.openFile.mockResolvedValue(mockFile);
|
|
232
|
+
const result = await baseFs.openFile('test.txt', 1, 0o644);
|
|
233
|
+
expect(mockFs.openFile).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), 1, 0o644);
|
|
234
|
+
expect(result).toBe(mockFile);
|
|
235
|
+
});
|
|
236
|
+
it('should delegate remove with absolute path', async () => {
|
|
237
|
+
await baseFs.remove('test.txt');
|
|
238
|
+
expect(mockFs.remove).toHaveBeenCalledWith(path.join('/root1', 'test.txt'));
|
|
239
|
+
});
|
|
240
|
+
it('should delegate removeAll with absolute path', async () => {
|
|
241
|
+
await baseFs.removeAll('testdir');
|
|
242
|
+
expect(mockFs.removeAll).toHaveBeenCalledWith(path.join('/root1', 'testdir'));
|
|
243
|
+
});
|
|
244
|
+
it('should delegate rename with absolute paths', async () => {
|
|
245
|
+
await baseFs.rename('old.txt', 'new.txt');
|
|
246
|
+
expect(mockFs.rename).toHaveBeenCalledWith(path.join('/root1', 'old.txt'), path.join('/root1', 'new.txt'));
|
|
247
|
+
});
|
|
248
|
+
it('should delegate chmod with absolute path', async () => {
|
|
249
|
+
await baseFs.chmod('test.txt', 0o644);
|
|
250
|
+
expect(mockFs.chmod).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), 0o644);
|
|
251
|
+
});
|
|
252
|
+
it('should delegate chown with absolute path', async () => {
|
|
253
|
+
await baseFs.chown('test.txt', 1000, 1000);
|
|
254
|
+
expect(mockFs.chown).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), 1000, 1000);
|
|
255
|
+
});
|
|
256
|
+
it('should delegate chtimes with absolute path', async () => {
|
|
257
|
+
const atime = new Date('2023-01-01');
|
|
258
|
+
const mtime = new Date('2023-01-02');
|
|
259
|
+
await baseFs.chtimes('test.txt', atime, mtime);
|
|
260
|
+
expect(mockFs.chtimes).toHaveBeenCalledWith(path.join('/root1', 'test.txt'), atime, mtime);
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
describe('name', () => {
|
|
264
|
+
it('should return name with underlying filesystem name', () => {
|
|
265
|
+
const result = baseFs.name();
|
|
266
|
+
expect(result).toBe('BaseFs(MockFs)');
|
|
267
|
+
expect(mockFs.name).toHaveBeenCalledTimes(1);
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
describe('newBaseFs factory function', () => {
|
|
271
|
+
it('should create new BaseFs instance', () => {
|
|
272
|
+
const result = (0, basefs_1.newBaseFs)(mockFs, roots);
|
|
273
|
+
expect(result).toBeInstanceOf(basefs_1.BaseFs);
|
|
274
|
+
expect(result.fs).toBe(mockFs);
|
|
275
|
+
expect(result.roots).toBe(roots);
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
//# sourceMappingURL=entity-basefs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-basefs.test.js","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-basefs.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-fs.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-fs.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs_1 = require("../entity/fs");
|
|
4
|
+
const static_copier_1 = require("../vo/static-copier");
|
|
5
|
+
const incremental_file_collector_1 = require("../vo/incremental-file-collector");
|
|
6
|
+
// Mock dependencies
|
|
7
|
+
jest.mock('../entity/service');
|
|
8
|
+
jest.mock('../vo/static-copier');
|
|
9
|
+
jest.mock('../vo/incremental-file-collector');
|
|
10
|
+
jest.mock('../vo/walkway');
|
|
11
|
+
jest.mock('../entity/basefs');
|
|
12
|
+
describe('Fs Entity', () => {
|
|
13
|
+
let mockOriginFs;
|
|
14
|
+
let mockPrompts;
|
|
15
|
+
let mockWorkflows;
|
|
16
|
+
let mockContent;
|
|
17
|
+
let mockLayouts;
|
|
18
|
+
let mockStatics;
|
|
19
|
+
let mockAssets;
|
|
20
|
+
let mockWork;
|
|
21
|
+
let mockService;
|
|
22
|
+
let fs;
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
// Create mock filesystems
|
|
25
|
+
mockOriginFs = {
|
|
26
|
+
getOrigin: jest.fn(),
|
|
27
|
+
getSource: jest.fn(),
|
|
28
|
+
publish: jest.fn(),
|
|
29
|
+
};
|
|
30
|
+
mockPrompts = {};
|
|
31
|
+
mockWorkflows = {};
|
|
32
|
+
mockContent = {};
|
|
33
|
+
mockLayouts = {};
|
|
34
|
+
mockStatics = {};
|
|
35
|
+
mockAssets = {};
|
|
36
|
+
mockWork = {};
|
|
37
|
+
// Mock service
|
|
38
|
+
mockService = {
|
|
39
|
+
newFileMetaInfo: jest.fn(),
|
|
40
|
+
newFileMetaInfoWithContent: jest.fn(),
|
|
41
|
+
};
|
|
42
|
+
// Mock the newService function
|
|
43
|
+
const { newService } = require('../entity/service');
|
|
44
|
+
newService.mockReturnValue(mockService);
|
|
45
|
+
// Create Fs instance
|
|
46
|
+
fs = new fs_1.Fs(mockOriginFs, mockPrompts, mockWorkflows, mockContent, mockLayouts, mockStatics, mockAssets, mockWork);
|
|
47
|
+
});
|
|
48
|
+
afterEach(() => {
|
|
49
|
+
jest.clearAllMocks();
|
|
50
|
+
});
|
|
51
|
+
describe('constructor', () => {
|
|
52
|
+
it('should initialize all filesystem properties correctly', () => {
|
|
53
|
+
expect(fs.originFs).toBe(mockOriginFs);
|
|
54
|
+
expect(fs.prompts).toBe(mockPrompts);
|
|
55
|
+
expect(fs.workflows).toBe(mockWorkflows);
|
|
56
|
+
expect(fs.content).toBe(mockContent);
|
|
57
|
+
expect(fs.layouts).toBe(mockLayouts);
|
|
58
|
+
expect(fs.statics).toBe(mockStatics);
|
|
59
|
+
expect(fs.assets).toBe(mockAssets);
|
|
60
|
+
expect(fs.work).toBe(mockWork);
|
|
61
|
+
expect(fs.service).toBe(mockService);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('filesystem access methods', () => {
|
|
65
|
+
it('should return OS filesystem from originFs', () => {
|
|
66
|
+
const mockOsFs = {};
|
|
67
|
+
mockOriginFs.getOrigin.mockReturnValue(mockOsFs);
|
|
68
|
+
const result = fs.os();
|
|
69
|
+
expect(result).toBe(mockOsFs);
|
|
70
|
+
expect(mockOriginFs.getOrigin).toHaveBeenCalledTimes(1);
|
|
71
|
+
});
|
|
72
|
+
it('should return work filesystem', () => {
|
|
73
|
+
const result = fs.workFs();
|
|
74
|
+
expect(result).toBe(mockWork);
|
|
75
|
+
});
|
|
76
|
+
it('should return workflow filesystem', () => {
|
|
77
|
+
const result = fs.workflowFs();
|
|
78
|
+
expect(result).toBe(mockWorkflows);
|
|
79
|
+
});
|
|
80
|
+
it('should return prompt filesystem', () => {
|
|
81
|
+
const result = fs.promptFs();
|
|
82
|
+
expect(result).toBe(mockPrompts);
|
|
83
|
+
});
|
|
84
|
+
it('should return content filesystem', () => {
|
|
85
|
+
const result = fs.contentFs();
|
|
86
|
+
expect(result).toBe(mockContent);
|
|
87
|
+
});
|
|
88
|
+
it('should return layouts filesystem', () => {
|
|
89
|
+
const result = fs.layoutsFs();
|
|
90
|
+
expect(result).toBe(mockLayouts);
|
|
91
|
+
});
|
|
92
|
+
it('should return static filesystem', () => {
|
|
93
|
+
const result = fs.staticFs();
|
|
94
|
+
expect(result).toBe(mockStatics);
|
|
95
|
+
});
|
|
96
|
+
it('should return assets filesystem', () => {
|
|
97
|
+
const result = fs.assetsFs();
|
|
98
|
+
expect(result).toBe(mockAssets);
|
|
99
|
+
});
|
|
100
|
+
it('should return publish filesystem from originFs', () => {
|
|
101
|
+
const mockPublishFs = {};
|
|
102
|
+
mockOriginFs.publish.mockReturnValue(mockPublishFs);
|
|
103
|
+
const result = fs.publishFs();
|
|
104
|
+
expect(result).toBe(mockPublishFs);
|
|
105
|
+
expect(mockOriginFs.publish).toHaveBeenCalledTimes(1);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('copyStatic', () => {
|
|
109
|
+
it('should create StaticCopier and call copy', () => {
|
|
110
|
+
const mockFroms = [{}, {}];
|
|
111
|
+
const mockTo = {};
|
|
112
|
+
const mockCopyResult = Promise.resolve();
|
|
113
|
+
const mockStaticCopier = {
|
|
114
|
+
copy: jest.fn().mockReturnValue(mockCopyResult),
|
|
115
|
+
};
|
|
116
|
+
static_copier_1.StaticCopier.mockImplementation(() => mockStaticCopier);
|
|
117
|
+
const result = fs.copyStatic(mockFroms, mockTo);
|
|
118
|
+
expect(static_copier_1.StaticCopier).toHaveBeenCalledWith(mockFroms, mockTo);
|
|
119
|
+
expect(mockStaticCopier.copy).toHaveBeenCalledTimes(1);
|
|
120
|
+
expect(result).toBe(mockCopyResult);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe('FileMetaInfo creation methods', () => {
|
|
124
|
+
it('should create FileMetaInfo with filename', () => {
|
|
125
|
+
const filename = 'test.txt';
|
|
126
|
+
const mockFileMetaInfo = {};
|
|
127
|
+
mockService.newFileMetaInfo.mockReturnValue(mockFileMetaInfo);
|
|
128
|
+
const result = fs.newFileMetaInfo(filename);
|
|
129
|
+
expect(result).toBe(mockFileMetaInfo);
|
|
130
|
+
expect(mockService.newFileMetaInfo).toHaveBeenCalledWith(filename);
|
|
131
|
+
});
|
|
132
|
+
it('should create FileMetaInfo with content', () => {
|
|
133
|
+
const content = 'test content';
|
|
134
|
+
const mockFileMetaInfo = {};
|
|
135
|
+
mockService.newFileMetaInfoWithContent.mockReturnValue(mockFileMetaInfo);
|
|
136
|
+
const result = fs.newFileMetaInfoWithContent(content);
|
|
137
|
+
expect(result).toBe(mockFileMetaInfo);
|
|
138
|
+
expect(mockService.newFileMetaInfoWithContent).toHaveBeenCalledWith(content);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
describe('getFileMetaInfos', () => {
|
|
142
|
+
it('should collect FileMetaInfos for given paths', async () => {
|
|
143
|
+
const paths = ['path1', 'path2'];
|
|
144
|
+
const mockResult = new Map([['path1', {}]]);
|
|
145
|
+
incremental_file_collector_1.collectFileMetaInfos.mockResolvedValue(mockResult);
|
|
146
|
+
const result = await fs.getFileMetaInfos(paths);
|
|
147
|
+
expect(result).toBe(mockResult);
|
|
148
|
+
expect(incremental_file_collector_1.collectFileMetaInfos).toHaveBeenCalledWith(paths, mockContent);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
describe('newBasePathFs', () => {
|
|
152
|
+
it('should create new base path filesystem', () => {
|
|
153
|
+
const mockSource = {};
|
|
154
|
+
const path = '/test/path';
|
|
155
|
+
const mockBaseFs = {};
|
|
156
|
+
// Get the mocked newBaseFs function
|
|
157
|
+
const { newBaseFs } = require('../entity/basefs');
|
|
158
|
+
newBaseFs.mockReturnValue(mockBaseFs);
|
|
159
|
+
const result = fs.newBasePathFs(mockSource, path);
|
|
160
|
+
expect(result).toBe(mockBaseFs);
|
|
161
|
+
expect(newBaseFs).toHaveBeenCalledWith(mockSource, [path]);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe('walk methods', () => {
|
|
165
|
+
let mockWalkway;
|
|
166
|
+
let mockCallback;
|
|
167
|
+
let mockConfig;
|
|
168
|
+
beforeEach(() => {
|
|
169
|
+
mockWalkway = {
|
|
170
|
+
walkWith: jest.fn().mockResolvedValue(undefined),
|
|
171
|
+
};
|
|
172
|
+
const { newWalkway } = require('../vo/walkway');
|
|
173
|
+
newWalkway.mockReturnValue(mockWalkway);
|
|
174
|
+
mockCallback = {
|
|
175
|
+
walkFn: jest.fn(),
|
|
176
|
+
};
|
|
177
|
+
mockConfig = {};
|
|
178
|
+
});
|
|
179
|
+
it('should walk prompts filesystem', async () => {
|
|
180
|
+
const start = '/prompts';
|
|
181
|
+
await fs.walkPrompts(start, mockCallback, mockConfig);
|
|
182
|
+
const { newWalkway } = require('../vo/walkway');
|
|
183
|
+
expect(newWalkway).toHaveBeenCalledWith(mockPrompts, mockCallback);
|
|
184
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
|
|
185
|
+
});
|
|
186
|
+
it('should walk workflows filesystem', async () => {
|
|
187
|
+
const start = '/workflows';
|
|
188
|
+
await fs.walkWorkflows(start, mockCallback, mockConfig);
|
|
189
|
+
const { newWalkway } = require('../vo/walkway');
|
|
190
|
+
expect(newWalkway).toHaveBeenCalledWith(mockWorkflows, mockCallback);
|
|
191
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
|
|
192
|
+
});
|
|
193
|
+
it('should walk layouts filesystem', async () => {
|
|
194
|
+
const start = '/layouts';
|
|
195
|
+
await fs.walkLayouts(start, mockCallback, mockConfig);
|
|
196
|
+
const { newWalkway } = require('../vo/walkway');
|
|
197
|
+
expect(newWalkway).toHaveBeenCalledWith(mockLayouts, mockCallback);
|
|
198
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
|
|
199
|
+
});
|
|
200
|
+
it('should walk content filesystem', async () => {
|
|
201
|
+
const start = '/content';
|
|
202
|
+
await fs.walkContent(start, mockCallback, mockConfig);
|
|
203
|
+
const { newWalkway } = require('../vo/walkway');
|
|
204
|
+
expect(newWalkway).toHaveBeenCalledWith(mockContent, mockCallback);
|
|
205
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
|
|
206
|
+
});
|
|
207
|
+
it('should walk statics filesystem', async () => {
|
|
208
|
+
const start = '/statics';
|
|
209
|
+
await fs.walkStatics(start, mockCallback, mockConfig);
|
|
210
|
+
const { newWalkway } = require('../vo/walkway');
|
|
211
|
+
expect(newWalkway).toHaveBeenCalledWith(mockStatics, mockCallback);
|
|
212
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
|
|
213
|
+
});
|
|
214
|
+
it('should use default root path when start is empty', async () => {
|
|
215
|
+
const start = '';
|
|
216
|
+
await fs.walk(mockContent, start, mockCallback, mockConfig);
|
|
217
|
+
const { newWalkway } = require('../vo/walkway');
|
|
218
|
+
expect(newWalkway).toHaveBeenCalledWith(mockContent, mockCallback);
|
|
219
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith('/', mockConfig);
|
|
220
|
+
});
|
|
221
|
+
it('should use provided start path when not empty', async () => {
|
|
222
|
+
const start = '/custom/path';
|
|
223
|
+
await fs.walk(mockContent, start, mockCallback, mockConfig);
|
|
224
|
+
const { newWalkway } = require('../vo/walkway');
|
|
225
|
+
expect(newWalkway).toHaveBeenCalledWith(mockContent, mockCallback);
|
|
226
|
+
expect(mockWalkway.walkWith).toHaveBeenCalledWith(start, mockConfig);
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
//# sourceMappingURL=entity-fs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-fs.test.js","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-fs.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-originfs.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-originfs.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const originfs_1 = require("../entity/originfs");
|
|
4
|
+
describe('OriginFs Entity', () => {
|
|
5
|
+
let mockSource;
|
|
6
|
+
let mockOrigin;
|
|
7
|
+
let mockPublishDir;
|
|
8
|
+
let originFs;
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
mockSource = {
|
|
11
|
+
name: jest.fn().mockReturnValue('SourceFs'),
|
|
12
|
+
};
|
|
13
|
+
mockOrigin = {
|
|
14
|
+
name: jest.fn().mockReturnValue('OriginFs'),
|
|
15
|
+
};
|
|
16
|
+
mockPublishDir = {
|
|
17
|
+
name: jest.fn().mockReturnValue('PublishFs'),
|
|
18
|
+
};
|
|
19
|
+
originFs = new originfs_1.OriginFs(mockSource, mockOrigin, mockPublishDir);
|
|
20
|
+
});
|
|
21
|
+
describe('constructor', () => {
|
|
22
|
+
it('should initialize all filesystem properties correctly', () => {
|
|
23
|
+
expect(originFs.source).toBe(mockSource);
|
|
24
|
+
expect(originFs.origin).toBe(mockOrigin);
|
|
25
|
+
expect(originFs.publishDir).toBe(mockPublishDir);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
describe('getSource', () => {
|
|
29
|
+
it('should return the source filesystem', () => {
|
|
30
|
+
const result = originFs.getSource();
|
|
31
|
+
expect(result).toBe(mockSource);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
describe('getOrigin', () => {
|
|
35
|
+
it('should return the origin filesystem', () => {
|
|
36
|
+
const result = originFs.getOrigin();
|
|
37
|
+
expect(result).toBe(mockOrigin);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe('publish', () => {
|
|
41
|
+
it('should return the publish directory filesystem', () => {
|
|
42
|
+
const result = originFs.publish();
|
|
43
|
+
expect(result).toBe(mockPublishDir);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=entity-originfs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-originfs.test.js","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-originfs.test.ts"],"names":[],"mappings":";;AAAA,iDAA8C;AAG9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,UAA4B,CAAC;IACjC,IAAI,UAA4B,CAAC;IACjC,IAAI,cAAgC,CAAC;IACrC,IAAI,QAAkB,CAAC;IAEvB,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;SACrC,CAAC;QAET,UAAU,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;SACrC,CAAC;QAET,cAAc,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC;SACtC,CAAC;QAET,QAAQ,GAAG,IAAI,mBAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-overlaydir.test.d.ts","sourceRoot":"","sources":["../../../../../internal/domain/fs/tests/entity-overlaydir.test.ts"],"names":[],"mappings":""}
|