@neurodevs/meta-node 0.14.9 → 0.14.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/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 +32 -38
- 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 +30 -38
- 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 +6 -9
- 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 +8 -11
- 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 +5 -4
- 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 +5 -4
- package/src/__tests__/impl/VscodeSnippetKeybinder.test.ts +4 -3
- package/src/impl/AbstractAutomodule.ts +2 -1
- package/src/impl/ImplAutomodule.ts +3 -3
- package/src/impl/TypescriptClassSnippetSuite.ts +1 -1
- package/src/impl/UiAutomodule.ts +4 -3
- 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,14 +73,16 @@ 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 '@
|
|
85
|
+
import AbstractSpruceTest, { test, assert } from '@neurodevs/node-tdd'
|
|
89
86
|
import ${this.implName}, { ${this.interfaceName} } from '../../impl/${this.implName}'
|
|
90
87
|
|
|
91
88
|
export default class ${this.implName}Test extends AbstractSpruceTest {
|
|
@@ -167,7 +164,7 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
167
164
|
return blocks.join('\n\n');
|
|
168
165
|
}
|
|
169
166
|
static ImplAutomodule() {
|
|
170
|
-
return
|
|
167
|
+
return ImplAutomodule.Create({
|
|
171
168
|
testSaveDir: this.testSaveDir,
|
|
172
169
|
moduleSaveDir: this.moduleSaveDir,
|
|
173
170
|
fakeSaveDir: this.fakeSaveDir,
|
|
@@ -176,31 +173,28 @@ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
|
|
|
176
173
|
});
|
|
177
174
|
}
|
|
178
175
|
}
|
|
179
|
-
ImplAutomoduleTest.interfaceName = `B-${(0, generate_id_1.default)()}`;
|
|
180
|
-
ImplAutomoduleTest.implName = (0, generate_id_1.default)();
|
|
181
|
-
exports.default = ImplAutomoduleTest;
|
|
182
176
|
__decorate([
|
|
183
|
-
|
|
177
|
+
test()
|
|
184
178
|
], ImplAutomoduleTest, "passesAbstractTests", null);
|
|
185
179
|
__decorate([
|
|
186
|
-
|
|
180
|
+
test()
|
|
187
181
|
], ImplAutomoduleTest, "createsInstance", null);
|
|
188
182
|
__decorate([
|
|
189
|
-
|
|
183
|
+
test()
|
|
190
184
|
], ImplAutomoduleTest, "createsTestFileAsExpected", null);
|
|
191
185
|
__decorate([
|
|
192
|
-
|
|
186
|
+
test()
|
|
193
187
|
], ImplAutomoduleTest, "createsModuleFileAsExpected", null);
|
|
194
188
|
__decorate([
|
|
195
|
-
|
|
189
|
+
test()
|
|
196
190
|
], ImplAutomoduleTest, "createsFakeFileAsExpected", null);
|
|
197
191
|
__decorate([
|
|
198
|
-
|
|
192
|
+
test()
|
|
199
193
|
], ImplAutomoduleTest, "sortsIndexFileExportsAlphabetically", null);
|
|
200
194
|
__decorate([
|
|
201
|
-
|
|
195
|
+
test()
|
|
202
196
|
], ImplAutomoduleTest, "triesBackupIndexFilePathIfNotFound", null);
|
|
203
197
|
__decorate([
|
|
204
|
-
|
|
198
|
+
test()
|
|
205
199
|
], ImplAutomoduleTest, "bumpsMinorVersionWithYarn", null);
|
|
206
200
|
//# sourceMappingURL=ImplAutomodule.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/ImplAutomodule.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
|