@neurodevs/meta-node 0.14.9 → 0.14.11
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/build/__tests__/AbstractAutomoduleTest.d.ts +2 -2
- package/build/__tests__/AbstractAutomoduleTest.js +39 -44
- package/build/__tests__/AbstractAutomoduleTest.js.map +1 -1
- package/build/__tests__/AbstractPackageTest.d.ts +2 -2
- package/build/__tests__/AbstractPackageTest.js +19 -27
- package/build/__tests__/AbstractPackageTest.js.map +1 -1
- package/build/__tests__/impl/GitAutocloner.test.d.ts +1 -1
- package/build/__tests__/impl/GitAutocloner.test.js +45 -52
- package/build/__tests__/impl/GitAutocloner.test.js.map +1 -1
- package/build/__tests__/impl/ImplAutomodule.test.d.ts +1 -1
- package/build/__tests__/impl/ImplAutomodule.test.js +39 -44
- package/build/__tests__/impl/ImplAutomodule.test.js.map +1 -1
- package/build/__tests__/impl/NpmAutopackage.test.d.ts +1 -1
- package/build/__tests__/impl/NpmAutopackage.test.js +155 -162
- package/build/__tests__/impl/NpmAutopackage.test.js.map +1 -1
- package/build/__tests__/impl/PackageAutodocumenter.test.d.ts +1 -1
- package/build/__tests__/impl/PackageAutodocumenter.test.js +8 -13
- package/build/__tests__/impl/PackageAutodocumenter.test.js.map +1 -1
- package/build/__tests__/impl/TypescriptClassSnippetSuite.test.d.ts +1 -1
- package/build/__tests__/impl/TypescriptClassSnippetSuite.test.js +42 -49
- package/build/__tests__/impl/TypescriptClassSnippetSuite.test.js.map +1 -1
- package/build/__tests__/impl/UiAutomodule.test.d.ts +1 -1
- package/build/__tests__/impl/UiAutomodule.test.js +39 -45
- package/build/__tests__/impl/UiAutomodule.test.js.map +1 -1
- package/build/__tests__/impl/VscodeSnippetKeybinder.test.d.ts +1 -1
- package/build/__tests__/impl/VscodeSnippetKeybinder.test.js +50 -57
- package/build/__tests__/impl/VscodeSnippetKeybinder.test.js.map +1 -1
- package/build/functions/expandHomeDir.js +4 -10
- package/build/functions/expandHomeDir.js.map +1 -1
- package/build/impl/AbstractAutomodule.d.ts +1 -1
- package/build/impl/AbstractAutomodule.js +23 -14
- package/build/impl/AbstractAutomodule.js.map +1 -1
- package/build/impl/GitAutocloner.js +16 -15
- package/build/impl/GitAutocloner.js.map +1 -1
- package/build/impl/ImplAutomodule.d.ts +2 -2
- package/build/impl/ImplAutomodule.js +13 -15
- package/build/impl/ImplAutomodule.js.map +1 -1
- package/build/impl/NpmAutopackage.js +32 -26
- package/build/impl/NpmAutopackage.js.map +1 -1
- package/build/impl/PackageAutodocumenter.js +2 -4
- package/build/impl/PackageAutodocumenter.js.map +1 -1
- package/build/impl/TypescriptClassSnippetSuite.js +125 -129
- package/build/impl/TypescriptClassSnippetSuite.js.map +1 -1
- package/build/impl/UiAutomodule.d.ts +2 -2
- package/build/impl/UiAutomodule.js +17 -18
- package/build/impl/UiAutomodule.js.map +1 -1
- package/build/impl/VscodeSnippetKeybinder.js +16 -17
- package/build/impl/VscodeSnippetKeybinder.js.map +1 -1
- package/build/index.d.ts +28 -28
- package/build/index.js +28 -62
- package/build/index.js.map +1 -1
- package/build/scripts/installSnippetSuite.js +2 -7
- package/build/scripts/installSnippetSuite.js.map +1 -1
- package/build/scripts/runAutopackage.js +4 -9
- package/build/scripts/runAutopackage.js.map +1 -1
- package/build/scripts/runImplAutomodule.js +6 -11
- package/build/scripts/runImplAutomodule.js.map +1 -1
- package/build/scripts/runSnippetKeybinder.js +2 -7
- package/build/scripts/runSnippetKeybinder.js.map +1 -1
- package/build/scripts/runUiAutomodule.js +6 -11
- package/build/scripts/runUiAutomodule.js.map +1 -1
- package/build/testDoubles/Autocloner/FakeAutocloner.d.ts +1 -1
- package/build/testDoubles/Autocloner/FakeAutocloner.js +3 -6
- package/build/testDoubles/Autocloner/FakeAutocloner.js.map +1 -1
- package/build/testDoubles/Autodocumenter/FakeAutodocumenter.d.ts +1 -1
- package/build/testDoubles/Autodocumenter/FakeAutodocumenter.js +2 -5
- package/build/testDoubles/Autodocumenter/FakeAutodocumenter.js.map +1 -1
- package/build/testDoubles/Automodule/FakeAutomodule.d.ts +3 -3
- package/build/testDoubles/Automodule/FakeAutomodule.js +3 -6
- package/build/testDoubles/Automodule/FakeAutomodule.js.map +1 -1
- package/build/testDoubles/Autopackage/FakeAutopackage.d.ts +1 -1
- package/build/testDoubles/Autopackage/FakeAutopackage.js +3 -6
- package/build/testDoubles/Autopackage/FakeAutopackage.js.map +1 -1
- package/build/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.d.ts +1 -1
- package/build/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.js +3 -5
- package/build/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.js.map +1 -1
- package/build/testDoubles/SnippetSuite/FakeSnippetSuite.d.ts +1 -1
- package/build/testDoubles/SnippetSuite/FakeSnippetSuite.js +3 -6
- package/build/testDoubles/SnippetSuite/FakeSnippetSuite.js.map +1 -1
- package/build/types.js +1 -2
- package/package.json +5 -3
- package/src/__tests__/AbstractAutomoduleTest.ts +5 -4
- package/src/__tests__/AbstractPackageTest.ts +4 -3
- package/src/__tests__/impl/GitAutocloner.test.ts +4 -3
- package/src/__tests__/impl/ImplAutomodule.test.ts +12 -10
- package/src/__tests__/impl/NpmAutopackage.test.ts +4 -3
- package/src/__tests__/impl/PackageAutodocumenter.test.ts +4 -3
- package/src/__tests__/impl/TypescriptClassSnippetSuite.test.ts +4 -3
- package/src/__tests__/impl/UiAutomodule.test.ts +14 -11
- package/src/__tests__/impl/VscodeSnippetKeybinder.test.ts +4 -3
- package/src/impl/AbstractAutomodule.ts +2 -1
- package/src/impl/ImplAutomodule.ts +10 -9
- package/src/impl/TypescriptClassSnippetSuite.ts +1 -1
- package/src/impl/UiAutomodule.ts +13 -10
- package/src/impl/VscodeSnippetKeybinder.ts +2 -1
- package/src/index.ts +28 -28
- package/src/scripts/installSnippetSuite.ts +1 -1
- package/src/scripts/runAutopackage.ts +2 -2
- package/src/scripts/runImplAutomodule.ts +2 -2
- package/src/scripts/runSnippetKeybinder.ts +1 -1
- package/src/scripts/runUiAutomodule.ts +2 -2
- package/src/testDoubles/Autocloner/FakeAutocloner.ts +1 -1
- package/src/testDoubles/Autodocumenter/FakeAutodocumenter.ts +1 -1
- package/src/testDoubles/Automodule/FakeAutomodule.ts +3 -3
- package/src/testDoubles/Autopackage/FakeAutopackage.ts +1 -1
- package/src/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.ts +1 -1
- package/src/testDoubles/SnippetSuite/FakeSnippetSuite.ts +1 -1
- package/tsconfig.json +17 -28
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Automodule } from '../types';
|
|
2
|
-
import AbstractPackageTest from './AbstractPackageTest';
|
|
1
|
+
import { Automodule } from '../types.js';
|
|
2
|
+
import AbstractPackageTest from './AbstractPackageTest.js';
|
|
3
3
|
export default class AbstractAutomoduleTest extends AbstractPackageTest {
|
|
4
4
|
protected static instance: Automodule;
|
|
5
5
|
protected static beforeEach(): Promise<void>;
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const AbstractAutomodule_1 = __importDefault(require("../impl/AbstractAutomodule"));
|
|
12
|
-
const AbstractPackageTest_1 = __importDefault(require("./AbstractPackageTest"));
|
|
13
|
-
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
14
|
-
class AbstractAutomoduleTest extends AbstractPackageTest_1.default {
|
|
1
|
+
import { exec as execSync } from 'child_process';
|
|
2
|
+
import { promisify } from 'util';
|
|
3
|
+
import { fakeExec, fakePathExists, fakeReadFile, fakeWriteFile, resetCallsToExec, resetCallsToPathExists, resetCallsToReadFile, resetCallsToWriteFile, setPathShouldExist, } from '@neurodevs/fake-node-core';
|
|
4
|
+
import generateId from '@neurodevs/generate-id';
|
|
5
|
+
import { assert } from '@neurodevs/node-tdd';
|
|
6
|
+
import AbstractAutomodule from '../impl/AbstractAutomodule.js';
|
|
7
|
+
import AbstractPackageTest from './AbstractPackageTest.js';
|
|
8
|
+
const exec = promisify(execSync);
|
|
9
|
+
export default class AbstractAutomoduleTest extends AbstractPackageTest {
|
|
10
|
+
static instance;
|
|
15
11
|
static async beforeEach() {
|
|
16
12
|
await super.beforeEach();
|
|
17
13
|
this.setFakeExec();
|
|
@@ -25,51 +21,50 @@ class AbstractAutomoduleTest extends AbstractPackageTest_1.default {
|
|
|
25
21
|
await this.runThrowsIfFakeSaveDirMissing();
|
|
26
22
|
}
|
|
27
23
|
static async runThrowsIfTestSaveDirMissing() {
|
|
28
|
-
|
|
29
|
-
await
|
|
24
|
+
setPathShouldExist(this.testSaveDir, false);
|
|
25
|
+
await assert.doesThrowAsync(async () => await this.run(), `testSaveDir does not exist: ${this.testSaveDir}!`);
|
|
30
26
|
}
|
|
31
27
|
static async runThrowsIfModuleSaveDirMissing() {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
await
|
|
28
|
+
setPathShouldExist(this.testSaveDir, true);
|
|
29
|
+
setPathShouldExist(this.moduleSaveDir, false);
|
|
30
|
+
await assert.doesThrowAsync(async () => await this.run(), `moduleSaveDir does not exist: ${this.moduleSaveDir}!`);
|
|
35
31
|
}
|
|
36
32
|
static async runThrowsIfFakeSaveDirMissing() {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
await
|
|
33
|
+
setPathShouldExist(this.moduleSaveDir, true);
|
|
34
|
+
setPathShouldExist(this.fakeSaveDir, false);
|
|
35
|
+
await assert.doesThrowAsync(async () => await this.run(), `fakeSaveDir does not exist: ${this.fakeSaveDir}!`);
|
|
40
36
|
}
|
|
41
37
|
static async run() {
|
|
42
38
|
return this.instance.run();
|
|
43
39
|
}
|
|
40
|
+
static testSaveDir = generateId();
|
|
41
|
+
static moduleSaveDir = generateId();
|
|
42
|
+
static fakeSaveDir = generateId();
|
|
43
|
+
static indexFilePath = './src/index.ts';
|
|
44
|
+
static originalIndexFile = `
|
|
45
|
+
// C-${generateId()}
|
|
46
|
+
|
|
47
|
+
// A-${generateId()}
|
|
48
|
+
`;
|
|
44
49
|
static setFakeExec() {
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
AbstractAutomodule.exec = fakeExec;
|
|
51
|
+
resetCallsToExec();
|
|
47
52
|
}
|
|
48
53
|
static setFakePathExists() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
AbstractAutomodule.pathExists = fakePathExists;
|
|
55
|
+
setPathShouldExist(this.testSaveDir, true);
|
|
56
|
+
setPathShouldExist(this.moduleSaveDir, true);
|
|
57
|
+
setPathShouldExist(this.fakeSaveDir, true);
|
|
58
|
+
setPathShouldExist(this.indexFilePath, true);
|
|
59
|
+
resetCallsToPathExists();
|
|
55
60
|
}
|
|
56
61
|
static setFakeReadFile() {
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
AbstractAutomodule.readFile = fakeReadFile;
|
|
63
|
+
resetCallsToReadFile();
|
|
59
64
|
}
|
|
60
65
|
static setFakeWriteFile() {
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
AbstractAutomodule.writeFile = fakeWriteFile;
|
|
67
|
+
resetCallsToWriteFile();
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
|
-
AbstractAutomoduleTest.testSaveDir = (0, generate_id_1.default)();
|
|
66
|
-
AbstractAutomoduleTest.moduleSaveDir = (0, generate_id_1.default)();
|
|
67
|
-
AbstractAutomoduleTest.fakeSaveDir = (0, generate_id_1.default)();
|
|
68
|
-
AbstractAutomoduleTest.indexFilePath = './src/index.ts';
|
|
69
|
-
AbstractAutomoduleTest.originalIndexFile = `
|
|
70
|
-
// C-${(0, generate_id_1.default)()}
|
|
71
|
-
|
|
72
|
-
// A-${(0, generate_id_1.default)()}
|
|
73
|
-
`;
|
|
74
|
-
exports.default = AbstractAutomoduleTest;
|
|
75
70
|
//# sourceMappingURL=AbstractAutomoduleTest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAutomoduleTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractAutomoduleTest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractAutomoduleTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractAutomoduleTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default class AbstractPackageTest extends
|
|
1
|
+
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
2
|
+
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
3
3
|
protected static beforeEach(): Promise<void>;
|
|
4
4
|
protected static normalize(input: string): string;
|
|
5
5
|
protected static readonly vscodeDir: string;
|
|
@@ -1,45 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const test_utils_1 = __importDefault(require("@sprucelabs/test-utils"));
|
|
8
|
-
const fake_node_core_1 = require("@neurodevs/fake-node-core");
|
|
9
|
-
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
10
|
-
const expandHomeDir_1 = __importDefault(require("../functions/expandHomeDir"));
|
|
11
|
-
class AbstractPackageTest extends test_utils_1.default {
|
|
1
|
+
import { setFakeReadFileResult } from '@neurodevs/fake-node-core';
|
|
2
|
+
import generateId from '@neurodevs/generate-id';
|
|
3
|
+
import AbstractModuleTest from '@neurodevs/node-tdd';
|
|
4
|
+
import expandHomeDir from '../functions/expandHomeDir.js';
|
|
5
|
+
export default class AbstractPackageTest extends AbstractModuleTest {
|
|
12
6
|
static async beforeEach() {
|
|
13
7
|
await super.beforeEach();
|
|
14
8
|
}
|
|
15
9
|
static normalize(input) {
|
|
16
10
|
return input.replace(/\s+/g, ' ').trim();
|
|
17
11
|
}
|
|
12
|
+
static vscodeDir = expandHomeDir('~/Library/Application Support/Code/User');
|
|
18
13
|
static get snippetsPath() {
|
|
19
14
|
return `${this.vscodeDir}/snippets/custom.code-snippets`;
|
|
20
15
|
}
|
|
16
|
+
static originalSnippet = { [generateId()]: {} };
|
|
17
|
+
static originalSnippets = {
|
|
18
|
+
...this.originalSnippet,
|
|
19
|
+
};
|
|
20
|
+
static originalSnippetsFile = JSON.stringify(this.originalSnippets, null, 4);
|
|
21
21
|
static get keybindingsPath() {
|
|
22
22
|
return `${this.vscodeDir}/keybindings.json`;
|
|
23
23
|
}
|
|
24
|
+
static originalKeybinding = {
|
|
25
|
+
key: generateId(),
|
|
26
|
+
command: generateId(),
|
|
27
|
+
};
|
|
28
|
+
static originalKeybindings = [this.originalKeybinding];
|
|
29
|
+
static originalKeybindingsFile = JSON.stringify(this.originalKeybindings, null, 4);
|
|
24
30
|
static setFakeSnippetsFile() {
|
|
25
|
-
|
|
31
|
+
setFakeReadFileResult(this.snippetsPath, this.originalSnippetsFile);
|
|
26
32
|
}
|
|
27
33
|
static setFakeKeybindingsFile() {
|
|
28
|
-
|
|
34
|
+
setFakeReadFileResult(this.keybindingsPath, this.originalKeybindingsFile);
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
|
-
_a = AbstractPackageTest;
|
|
32
|
-
AbstractPackageTest.vscodeDir = (0, expandHomeDir_1.default)('~/Library/Application Support/Code/User');
|
|
33
|
-
AbstractPackageTest.originalSnippet = { [(0, generate_id_1.default)()]: {} };
|
|
34
|
-
AbstractPackageTest.originalSnippets = {
|
|
35
|
-
..._a.originalSnippet,
|
|
36
|
-
};
|
|
37
|
-
AbstractPackageTest.originalSnippetsFile = JSON.stringify(_a.originalSnippets, null, 4);
|
|
38
|
-
AbstractPackageTest.originalKeybinding = {
|
|
39
|
-
key: (0, generate_id_1.default)(),
|
|
40
|
-
command: (0, generate_id_1.default)(),
|
|
41
|
-
};
|
|
42
|
-
AbstractPackageTest.originalKeybindings = [_a.originalKeybinding];
|
|
43
|
-
AbstractPackageTest.originalKeybindingsFile = JSON.stringify(_a.originalKeybindings, null, 4);
|
|
44
|
-
exports.default = AbstractPackageTest;
|
|
45
37
|
//# sourceMappingURL=AbstractPackageTest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,kBAAkB,MAAM,qBAAqB,CAAA;AAEpD,OAAO,aAAa,MAAM,+BAA+B,CAAA;AAEzD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,kBAAkB;IACrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAES,MAAM,CAAC,SAAS,CAAC,KAAa;QACpC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC5C,CAAC;IAES,MAAM,CAAU,SAAS,GAAG,aAAa,CAC/C,yCAAyC,CAC5C,CAAA;IAES,MAAM,KAAK,YAAY;QAC7B,OAAO,GAAG,IAAI,CAAC,SAAS,gCAAgC,CAAA;IAC5D,CAAC;IAES,MAAM,CAAU,eAAe,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;IAExD,MAAM,CAAU,gBAAgB,GAAG;QACzC,GAAG,IAAI,CAAC,eAAe;KAC1B,CAAA;IAES,MAAM,CAAU,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAC3D,IAAI,CAAC,gBAAgB,EACrB,IAAI,EACJ,CAAC,CACJ,CAAA;IAES,MAAM,KAAK,eAAe;QAChC,OAAO,GAAG,IAAI,CAAC,SAAS,mBAAmB,CAAA;IAC/C,CAAC;IAES,MAAM,CAAU,kBAAkB,GAAG;QAC3C,GAAG,EAAE,UAAU,EAAE;QACjB,OAAO,EAAE,UAAU,EAAE;KACxB,CAAA;IAES,MAAM,CAAU,mBAAmB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAE/D,MAAM,CAAU,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAC9D,IAAI,CAAC,mBAAmB,EACxB,IAAI,EACJ,CAAC,CACJ,CAAA;IAES,MAAM,CAAC,mBAAmB;QAChC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;IACvE,CAAC;IAES,MAAM,CAAC,sBAAsB;QACnC,qBAAqB,CACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,uBAAuB,CAC/B,CAAA;IACL,CAAC"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const GitAutocloner_1 = __importDefault(require("../../impl/GitAutocloner"));
|
|
19
|
-
const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
|
|
20
|
-
const exec = (0, util_1.promisify)(child_process_1.exec);
|
|
21
|
-
class AutoclonerTest extends AbstractPackageTest_1.default {
|
|
7
|
+
import { exec as execSync } from 'child_process';
|
|
8
|
+
import { promisify } from 'util';
|
|
9
|
+
import { callsToChdir, callsToExec, fakeChdir, fakeExec, fakePathExists, resetCallsToChdir, resetCallsToExec, setPathShouldExist, } from '@neurodevs/fake-node-core';
|
|
10
|
+
import generateId from '@neurodevs/generate-id';
|
|
11
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
12
|
+
import GitAutocloner from '../../impl/GitAutocloner.js';
|
|
13
|
+
import AbstractPackageTest from '../AbstractPackageTest.js';
|
|
14
|
+
const exec = promisify(execSync);
|
|
15
|
+
export default class AutoclonerTest extends AbstractPackageTest {
|
|
16
|
+
static instance;
|
|
22
17
|
static async beforeEach() {
|
|
23
18
|
await super.beforeEach();
|
|
24
19
|
this.setFakeChdir();
|
|
@@ -27,40 +22,40 @@ class AutoclonerTest extends AbstractPackageTest_1.default {
|
|
|
27
22
|
this.instance = this.GitAutocloner();
|
|
28
23
|
}
|
|
29
24
|
static async canCreateAutocloner() {
|
|
30
|
-
|
|
25
|
+
assert.isTruthy(this.instance, 'Should create a new instance!');
|
|
31
26
|
}
|
|
32
27
|
static async throwsIfDirPathDoesNotExist() {
|
|
33
|
-
const err = await
|
|
34
|
-
|
|
28
|
+
const err = await assert.doesThrowAsync(() => this.run({ dirPath: this.invalidDirPath }));
|
|
29
|
+
assert.isEqual(err.message, `dirPath does not exist: ${this.invalidDirPath}!`, 'Did not receive the expected error!');
|
|
35
30
|
}
|
|
36
31
|
static async changesCurrentDirectoryToDirPath() {
|
|
37
32
|
await this.run();
|
|
38
|
-
|
|
33
|
+
assert.isEqual(callsToChdir[0], this.validDirPath, 'Should change current directory to the dirPath!');
|
|
39
34
|
}
|
|
40
35
|
static async callsGitCloneForEachUrl() {
|
|
41
36
|
await this.run();
|
|
42
37
|
this.urls.forEach((url) => {
|
|
43
|
-
|
|
38
|
+
assert.doesInclude(callsToExec, `git clone ${url}`);
|
|
44
39
|
});
|
|
45
40
|
}
|
|
46
41
|
static async doesNotCallGitCloneIfUrlExists() {
|
|
47
42
|
await this.run();
|
|
48
43
|
this.urls.forEach((url) => {
|
|
49
|
-
|
|
44
|
+
setPathShouldExist(url.match(this.regexForRepoName)[1], true);
|
|
50
45
|
});
|
|
51
|
-
|
|
46
|
+
resetCallsToExec();
|
|
52
47
|
await this.run();
|
|
53
|
-
|
|
48
|
+
assert.isLength(callsToExec, 0);
|
|
54
49
|
}
|
|
55
50
|
static async throwsIfGitCloneFails() {
|
|
56
|
-
|
|
51
|
+
GitAutocloner.exec = (_command) => {
|
|
57
52
|
throw new Error(this.gitCloneFailedError);
|
|
58
53
|
};
|
|
59
|
-
const err = await
|
|
60
|
-
|
|
54
|
+
const err = await assert.doesThrowAsync(() => this.run());
|
|
55
|
+
assert.isEqual(this.normalize(err.message), this.normalize(this.gitCloneFailedMessage), 'Did not receive the expected error!');
|
|
61
56
|
}
|
|
62
57
|
static async worksWithPeriodInRepoName() {
|
|
63
|
-
const repoName = `/${(
|
|
58
|
+
const repoName = `/${generateId()}.${generateId()}.git`;
|
|
64
59
|
await this.run({ urls: [repoName] });
|
|
65
60
|
}
|
|
66
61
|
static run(options) {
|
|
@@ -71,58 +66,56 @@ class AutoclonerTest extends AbstractPackageTest_1.default {
|
|
|
71
66
|
});
|
|
72
67
|
}
|
|
73
68
|
static setFakeChdir() {
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
GitAutocloner.chdir = fakeChdir;
|
|
70
|
+
resetCallsToChdir();
|
|
76
71
|
}
|
|
77
72
|
static setFakeExec() {
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
GitAutocloner.exec = fakeExec;
|
|
74
|
+
resetCallsToExec();
|
|
80
75
|
}
|
|
81
76
|
static setFakePathExists() {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
77
|
+
GitAutocloner.pathExists =
|
|
78
|
+
fakePathExists;
|
|
79
|
+
resetCallsToExec();
|
|
80
|
+
setPathShouldExist(this.validDirPath, true);
|
|
86
81
|
this.urls.forEach((url) => {
|
|
87
|
-
|
|
82
|
+
setPathShouldExist(url.match(this.regexForRepoName)[1], false);
|
|
88
83
|
});
|
|
89
84
|
}
|
|
90
85
|
static generateUrl() {
|
|
91
|
-
return `https://github.com/${(
|
|
86
|
+
return `https://github.com/${generateId()}.git`;
|
|
92
87
|
}
|
|
93
88
|
static get gitCloneFailedMessage() {
|
|
94
89
|
return `Git clone failed for repo: ${this.urls[0]}! Error: \n\n${this.gitCloneFailedError}\n\n`;
|
|
95
90
|
}
|
|
91
|
+
static urls = [this.generateUrl(), this.generateUrl()];
|
|
92
|
+
static validDirPath = generateId();
|
|
93
|
+
static invalidDirPath = generateId();
|
|
94
|
+
static gitCloneFailedError = 'Failed to clone repo!';
|
|
95
|
+
static regexForRepoName = /\/([a-zA-Z0-9_.-]+)\.git/;
|
|
96
96
|
static GitAutocloner() {
|
|
97
|
-
return
|
|
97
|
+
return GitAutocloner.Create();
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
_a = AutoclonerTest;
|
|
101
|
-
AutoclonerTest.urls = [_a.generateUrl(), _a.generateUrl()];
|
|
102
|
-
AutoclonerTest.validDirPath = (0, generate_id_1.default)();
|
|
103
|
-
AutoclonerTest.invalidDirPath = (0, generate_id_1.default)();
|
|
104
|
-
AutoclonerTest.gitCloneFailedError = 'Failed to clone repo!';
|
|
105
|
-
AutoclonerTest.regexForRepoName = /\/([a-zA-Z0-9_.-]+)\.git/;
|
|
106
|
-
exports.default = AutoclonerTest;
|
|
107
100
|
__decorate([
|
|
108
|
-
|
|
101
|
+
test()
|
|
109
102
|
], AutoclonerTest, "canCreateAutocloner", null);
|
|
110
103
|
__decorate([
|
|
111
|
-
|
|
104
|
+
test()
|
|
112
105
|
], AutoclonerTest, "throwsIfDirPathDoesNotExist", null);
|
|
113
106
|
__decorate([
|
|
114
|
-
|
|
107
|
+
test()
|
|
115
108
|
], AutoclonerTest, "changesCurrentDirectoryToDirPath", null);
|
|
116
109
|
__decorate([
|
|
117
|
-
|
|
110
|
+
test()
|
|
118
111
|
], AutoclonerTest, "callsGitCloneForEachUrl", null);
|
|
119
112
|
__decorate([
|
|
120
|
-
|
|
113
|
+
test()
|
|
121
114
|
], AutoclonerTest, "doesNotCallGitCloneIfUrlExists", null);
|
|
122
115
|
__decorate([
|
|
123
|
-
|
|
116
|
+
test()
|
|
124
117
|
], AutoclonerTest, "throwsIfGitCloneFails", null);
|
|
125
118
|
__decorate([
|
|
126
|
-
|
|
119
|
+
test()
|
|
127
120
|
], AutoclonerTest, "worksWithPeriodInRepoName", null);
|
|
128
121
|
//# sourceMappingURL=GitAutocloner.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitAutocloner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/GitAutocloner.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GitAutocloner.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/GitAutocloner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AbstractAutomoduleTest from '../AbstractAutomoduleTest';
|
|
1
|
+
import AbstractAutomoduleTest from '../AbstractAutomoduleTest.js';
|
|
2
2
|
export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
|
|
3
3
|
protected static beforeEach(): Promise<void>;
|
|
4
4
|
protected static passesAbstractTests(): Promise<void>;
|
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
|
|
15
|
-
const ImplAutomodule_1 = __importDefault(require("../../impl/ImplAutomodule"));
|
|
16
|
-
const AbstractAutomoduleTest_1 = __importDefault(require("../AbstractAutomoduleTest"));
|
|
17
|
-
class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
7
|
+
import { callsToExec, callsToWriteFile, setFakeReadFileResult, setFakeReadFileThrowsFor, } from '@neurodevs/fake-node-core';
|
|
8
|
+
import generateId from '@neurodevs/generate-id';
|
|
9
|
+
import { test, assert } from '@neurodevs/node-tdd';
|
|
10
|
+
import ImplAutomodule from '../../impl/ImplAutomodule.js';
|
|
11
|
+
import AbstractAutomoduleTest from '../AbstractAutomoduleTest.js';
|
|
12
|
+
export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
|
|
18
13
|
static async beforeEach() {
|
|
19
14
|
await super.beforeEach();
|
|
20
15
|
this.setFakeIndexFileOnReadFile();
|
|
@@ -24,13 +19,13 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
24
19
|
await this.runAbstractTests();
|
|
25
20
|
}
|
|
26
21
|
static async createsInstance() {
|
|
27
|
-
|
|
22
|
+
assert.isTruthy(this.instance, 'Failed to create instance!');
|
|
28
23
|
}
|
|
29
24
|
static async createsTestFileAsExpected() {
|
|
30
25
|
await this.run();
|
|
31
|
-
|
|
32
|
-
file:
|
|
33
|
-
data: this.normalize(
|
|
26
|
+
assert.isEqualDeep({
|
|
27
|
+
file: callsToWriteFile[0].file,
|
|
28
|
+
data: this.normalize(callsToWriteFile[0].data),
|
|
34
29
|
}, {
|
|
35
30
|
file: `${this.testSaveDir}/${this.implName}.test.ts`,
|
|
36
31
|
data: this.normalize(this.testFilePattern),
|
|
@@ -38,7 +33,7 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
38
33
|
}
|
|
39
34
|
static async createsModuleFileAsExpected() {
|
|
40
35
|
await this.run();
|
|
41
|
-
|
|
36
|
+
assert.isEqualDeep(callsToWriteFile[1], {
|
|
42
37
|
file: `${this.moduleSaveDir}/${this.implName}.ts`,
|
|
43
38
|
data: this.moduleFilePattern,
|
|
44
39
|
options: undefined,
|
|
@@ -46,7 +41,7 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
46
41
|
}
|
|
47
42
|
static async createsFakeFileAsExpected() {
|
|
48
43
|
await this.run();
|
|
49
|
-
|
|
44
|
+
assert.isEqualDeep(callsToWriteFile[2], {
|
|
50
45
|
file: `${this.fakeSaveDir}/Fake${this.interfaceName}.ts`,
|
|
51
46
|
data: this.fakeFilePattern,
|
|
52
47
|
options: undefined,
|
|
@@ -54,8 +49,8 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
54
49
|
}
|
|
55
50
|
static async sortsIndexFileExportsAlphabetically() {
|
|
56
51
|
await this.run();
|
|
57
|
-
const call =
|
|
58
|
-
|
|
52
|
+
const call = callsToWriteFile[3];
|
|
53
|
+
assert.isEqualDeep({
|
|
59
54
|
file: call.file,
|
|
60
55
|
data: this.normalize(call.data),
|
|
61
56
|
}, {
|
|
@@ -64,11 +59,11 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
64
59
|
}, 'Did not update index file as expected!');
|
|
65
60
|
}
|
|
66
61
|
static async triesBackupIndexFilePathIfNotFound() {
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
setFakeReadFileThrowsFor(this.indexFilePath);
|
|
63
|
+
setFakeReadFileResult('./src/exports.ts', this.originalIndexFile);
|
|
69
64
|
await this.run();
|
|
70
|
-
const call =
|
|
71
|
-
|
|
65
|
+
const call = callsToWriteFile[3];
|
|
66
|
+
assert.isEqualDeep({
|
|
72
67
|
file: call.file,
|
|
73
68
|
data: this.normalize(call.data),
|
|
74
69
|
}, {
|
|
@@ -78,15 +73,18 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
78
73
|
}
|
|
79
74
|
static async bumpsMinorVersionWithYarn() {
|
|
80
75
|
await this.run();
|
|
81
|
-
|
|
76
|
+
assert.isEqualDeep(callsToExec[0], 'yarn version --minor --no-git-tag-version', 'Did not bump minor version!');
|
|
82
77
|
}
|
|
78
|
+
static interfaceName = `B-${generateId()}`;
|
|
79
|
+
static implName = generateId();
|
|
83
80
|
static setFakeIndexFileOnReadFile() {
|
|
84
|
-
|
|
81
|
+
setFakeReadFileResult(this.indexFilePath, this.originalIndexFile);
|
|
85
82
|
}
|
|
86
83
|
static get testFilePattern() {
|
|
87
84
|
return `
|
|
88
|
-
import AbstractSpruceTest, { test, assert } from '@
|
|
89
|
-
|
|
85
|
+
import AbstractSpruceTest, { test, assert } from '@neurodevs/node-tdd'
|
|
86
|
+
|
|
87
|
+
import ${this.implName}, { ${this.interfaceName} } from '../../impl/${this.implName}.js'
|
|
90
88
|
|
|
91
89
|
export default class ${this.implName}Test extends AbstractSpruceTest {
|
|
92
90
|
private static instance: ${this.interfaceName}
|
|
@@ -127,7 +125,7 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
127
125
|
}
|
|
128
126
|
static get fakeFilePattern() {
|
|
129
127
|
return `
|
|
130
|
-
import { ${this.interfaceName} } from '../../impl/${this.implName}'
|
|
128
|
+
import { ${this.interfaceName} } from '../../impl/${this.implName}.js'
|
|
131
129
|
|
|
132
130
|
export default class Fake${this.interfaceName} implements ${this.interfaceName} {
|
|
133
131
|
public static numCallsToConstructor = 0
|
|
@@ -146,11 +144,11 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
146
144
|
return `
|
|
147
145
|
// ${this.interfaceName}
|
|
148
146
|
|
|
149
|
-
export { default as ${this.implName} } from './impl/${this.implName}'
|
|
150
|
-
export * from './impl/${this.implName}'
|
|
147
|
+
export { default as ${this.implName} } from './impl/${this.implName}.js'
|
|
148
|
+
export * from './impl/${this.implName}.js'
|
|
151
149
|
|
|
152
|
-
export { default as Fake${this.interfaceName} } from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
153
|
-
export * from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}'
|
|
150
|
+
export { default as Fake${this.interfaceName} } from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}.js'
|
|
151
|
+
export * from './testDoubles/${this.interfaceName}/Fake${this.interfaceName}.js'
|
|
154
152
|
|
|
155
153
|
`;
|
|
156
154
|
}
|
|
@@ -167,7 +165,7 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
167
165
|
return blocks.join('\n\n');
|
|
168
166
|
}
|
|
169
167
|
static ImplAutomodule() {
|
|
170
|
-
return
|
|
168
|
+
return ImplAutomodule.Create({
|
|
171
169
|
testSaveDir: this.testSaveDir,
|
|
172
170
|
moduleSaveDir: this.moduleSaveDir,
|
|
173
171
|
fakeSaveDir: this.fakeSaveDir,
|
|
@@ -176,31 +174,28 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
176
174
|
});
|
|
177
175
|
}
|
|
178
176
|
}
|
|
179
|
-
ImplAutomoduleTest.interfaceName = `B-${(0, generate_id_1.default)()}`;
|
|
180
|
-
ImplAutomoduleTest.implName = (0, generate_id_1.default)();
|
|
181
|
-
exports.default = ImplAutomoduleTest;
|
|
182
177
|
__decorate([
|
|
183
|
-
|
|
178
|
+
test()
|
|
184
179
|
], ImplAutomoduleTest, "passesAbstractTests", null);
|
|
185
180
|
__decorate([
|
|
186
|
-
|
|
181
|
+
test()
|
|
187
182
|
], ImplAutomoduleTest, "createsInstance", null);
|
|
188
183
|
__decorate([
|
|
189
|
-
|
|
184
|
+
test()
|
|
190
185
|
], ImplAutomoduleTest, "createsTestFileAsExpected", null);
|
|
191
186
|
__decorate([
|
|
192
|
-
|
|
187
|
+
test()
|
|
193
188
|
], ImplAutomoduleTest, "createsModuleFileAsExpected", null);
|
|
194
189
|
__decorate([
|
|
195
|
-
|
|
190
|
+
test()
|
|
196
191
|
], ImplAutomoduleTest, "createsFakeFileAsExpected", null);
|
|
197
192
|
__decorate([
|
|
198
|
-
|
|
193
|
+
test()
|
|
199
194
|
], ImplAutomoduleTest, "sortsIndexFileExportsAlphabetically", null);
|
|
200
195
|
__decorate([
|
|
201
|
-
|
|
196
|
+
test()
|
|
202
197
|
], ImplAutomoduleTest, "triesBackupIndexFilePathIfNotFound", null);
|
|
203
198
|
__decorate([
|
|
204
|
-
|
|
199
|
+
test()
|
|
205
200
|
], ImplAutomoduleTest, "bumpsMinorVersionWithYarn", null);
|
|
206
201
|
//# sourceMappingURL=ImplAutomodule.test.js.map
|