@neurodevs/meta-node 0.7.0 → 0.9.0

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.
Files changed (50) hide show
  1. package/build/__tests__/AbstractAutomoduleTest.d.ts +17 -0
  2. package/build/__tests__/AbstractAutomoduleTest.js +56 -0
  3. package/build/__tests__/AbstractAutomoduleTest.js.map +1 -0
  4. package/build/__tests__/modules/ImplAutomodule.test.d.ts +3 -13
  5. package/build/__tests__/modules/ImplAutomodule.test.js +15 -50
  6. package/build/__tests__/modules/ImplAutomodule.test.js.map +1 -1
  7. package/build/__tests__/modules/UiAutomodule.test.d.ts +16 -0
  8. package/build/__tests__/modules/UiAutomodule.test.js +168 -0
  9. package/build/__tests__/modules/UiAutomodule.test.js.map +1 -0
  10. package/build/index.d.ts +4 -0
  11. package/build/index.js +7 -1
  12. package/build/index.js.map +1 -1
  13. package/build/modules/AbstractAutomodule.d.ts +44 -0
  14. package/build/modules/AbstractAutomodule.js +79 -0
  15. package/build/modules/AbstractAutomodule.js.map +1 -0
  16. package/build/modules/ImplAutomodule.d.ts +10 -32
  17. package/build/modules/ImplAutomodule.js +20 -64
  18. package/build/modules/ImplAutomodule.js.map +1 -1
  19. package/build/modules/NpmAutopackage.d.ts +3 -3
  20. package/build/modules/NpmAutopackage.js +8 -7
  21. package/build/modules/NpmAutopackage.js.map +1 -1
  22. package/build/modules/UiAutomodule.d.ts +20 -0
  23. package/build/modules/UiAutomodule.js +123 -0
  24. package/build/modules/UiAutomodule.js.map +1 -0
  25. package/build/scripts/{runAutomodule.js → runImplAutomodule.js} +1 -1
  26. package/build/scripts/runImplAutomodule.js.map +1 -0
  27. package/build/scripts/runUiAutomodule.d.ts +1 -0
  28. package/build/scripts/runUiAutomodule.js +22 -0
  29. package/build/scripts/runUiAutomodule.js.map +1 -0
  30. package/build/testDoubles/Automodule/FakeAutomodule.d.ts +7 -4
  31. package/build/testDoubles/Automodule/FakeAutomodule.js +6 -6
  32. package/build/testDoubles/Automodule/FakeAutomodule.js.map +1 -1
  33. package/build/types.d.ts +8 -0
  34. package/build/types.js +3 -0
  35. package/build/types.js.map +1 -0
  36. package/package.json +2 -3
  37. package/src/__tests__/AbstractAutomoduleTest.ts +83 -0
  38. package/src/__tests__/modules/ImplAutomodule.test.ts +17 -78
  39. package/src/__tests__/modules/UiAutomodule.test.ts +174 -0
  40. package/src/index.ts +6 -0
  41. package/src/modules/AbstractAutomodule.ts +133 -0
  42. package/src/modules/ImplAutomodule.ts +32 -98
  43. package/src/modules/NpmAutopackage.ts +8 -7
  44. package/src/modules/UiAutomodule.ts +143 -0
  45. package/src/scripts/runUiAutomodule.ts +23 -0
  46. package/src/testDoubles/Automodule/FakeAutomodule.ts +10 -6
  47. package/src/types.ts +9 -0
  48. package/build/scripts/runAutomodule.js.map +0 -1
  49. /package/build/scripts/{runAutomodule.d.ts → runImplAutomodule.d.ts} +0 -0
  50. /package/src/scripts/{runAutomodule.ts → runImplAutomodule.ts} +0 -0
@@ -0,0 +1,17 @@
1
+ import { Automodule } from '../types';
2
+ import AbstractPackageTest from './AbstractPackageTest';
3
+ export default class AbstractAutomoduleTest extends AbstractPackageTest {
4
+ protected static instance: Automodule;
5
+ protected static beforeEach(): Promise<void>;
6
+ protected static runAbstractTests(): Promise<void>;
7
+ protected static runThrowsIfTestSaveDirMissing(): Promise<void>;
8
+ protected static runThrowsIfModuleSaveDirMissing(): Promise<void>;
9
+ protected static runThrowsIfFakeSaveDirMissing(): Promise<void>;
10
+ protected static run(): Promise<void>;
11
+ protected static readonly testSaveDir: string;
12
+ protected static readonly moduleSaveDir: string;
13
+ protected static readonly fakeSaveDir: string;
14
+ protected static readonly indexFilePath = "./src/index.ts";
15
+ protected static setFakePathExists(): void;
16
+ protected static setFakeWriteFile(): void;
17
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const test_utils_1 = require("@sprucelabs/test-utils");
7
+ const fake_node_core_1 = require("@neurodevs/fake-node-core");
8
+ const AbstractAutomodule_1 = __importDefault(require("../modules/AbstractAutomodule"));
9
+ const AbstractPackageTest_1 = __importDefault(require("./AbstractPackageTest"));
10
+ class AbstractAutomoduleTest extends AbstractPackageTest_1.default {
11
+ static async beforeEach() {
12
+ await super.beforeEach();
13
+ this.setFakePathExists();
14
+ this.setFakeWriteFile();
15
+ }
16
+ static async runAbstractTests() {
17
+ await this.runThrowsIfTestSaveDirMissing();
18
+ await this.runThrowsIfModuleSaveDirMissing();
19
+ await this.runThrowsIfFakeSaveDirMissing();
20
+ }
21
+ static async runThrowsIfTestSaveDirMissing() {
22
+ (0, fake_node_core_1.setPathShouldExist)(this.testSaveDir, false);
23
+ await test_utils_1.assert.doesThrowAsync(async () => await this.run(), `testSaveDir does not exist: ${this.testSaveDir}!`);
24
+ }
25
+ static async runThrowsIfModuleSaveDirMissing() {
26
+ (0, fake_node_core_1.setPathShouldExist)(this.testSaveDir, true);
27
+ (0, fake_node_core_1.setPathShouldExist)(this.moduleSaveDir, false);
28
+ await test_utils_1.assert.doesThrowAsync(async () => await this.run(), `moduleSaveDir does not exist: ${this.moduleSaveDir}!`);
29
+ }
30
+ static async runThrowsIfFakeSaveDirMissing() {
31
+ (0, fake_node_core_1.setPathShouldExist)(this.moduleSaveDir, true);
32
+ (0, fake_node_core_1.setPathShouldExist)(this.fakeSaveDir, false);
33
+ await test_utils_1.assert.doesThrowAsync(async () => await this.run(), `fakeSaveDir does not exist: ${this.fakeSaveDir}!`);
34
+ }
35
+ static async run() {
36
+ return this.instance.run();
37
+ }
38
+ static setFakePathExists() {
39
+ AbstractAutomodule_1.default.pathExists = fake_node_core_1.fakePathExists;
40
+ (0, fake_node_core_1.setPathShouldExist)(this.testSaveDir, true);
41
+ (0, fake_node_core_1.setPathShouldExist)(this.moduleSaveDir, true);
42
+ (0, fake_node_core_1.setPathShouldExist)(this.fakeSaveDir, true);
43
+ (0, fake_node_core_1.setPathShouldExist)(this.indexFilePath, true);
44
+ (0, fake_node_core_1.resetCallsToPathExists)();
45
+ }
46
+ static setFakeWriteFile() {
47
+ AbstractAutomodule_1.default.writeFile = fake_node_core_1.fakeWriteFile;
48
+ (0, fake_node_core_1.resetCallsToWriteFile)();
49
+ }
50
+ }
51
+ AbstractAutomoduleTest.testSaveDir = (0, test_utils_1.generateId)();
52
+ AbstractAutomoduleTest.moduleSaveDir = (0, test_utils_1.generateId)();
53
+ AbstractAutomoduleTest.fakeSaveDir = (0, test_utils_1.generateId)();
54
+ AbstractAutomoduleTest.indexFilePath = './src/index.ts';
55
+ exports.default = AbstractAutomoduleTest;
56
+ //# sourceMappingURL=AbstractAutomoduleTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractAutomoduleTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractAutomoduleTest.ts"],"names":[],"mappings":";;;;;AACA,uDAA2D;AAC3D,8DAMkC;AAClC,uFAA8D;AAE9D,gFAAuD;AAEvD,MAAqB,sBAAuB,SAAQ,6BAAmB;IAGzD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QAExB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAC3B,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,gBAAgB;QACnC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;QAC1C,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAA;QAC5C,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;IAC9C,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,IAAA,mCAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAE3C,MAAM,mBAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAC5B,+BAA+B,IAAI,CAAC,WAAW,GAAG,CACrD,CAAA;IACL,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,+BAA+B;QAClD,IAAA,mCAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1C,IAAA,mCAAkB,EAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAE7C,MAAM,mBAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAC5B,iCAAiC,IAAI,CAAC,aAAa,GAAG,CACzD,CAAA;IACL,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,6BAA6B;QAChD,IAAA,mCAAkB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAA,mCAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAE3C,MAAM,mBAAM,CAAC,cAAc,CACvB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,EAC5B,+BAA+B,IAAI,CAAC,WAAW,GAAG,CACrD,CAAA;IACL,CAAC;IAES,MAAM,CAAC,KAAK,CAAC,GAAG;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;IAC9B,CAAC;IAOS,MAAM,CAAC,iBAAiB;QAC9B,4BAAkB,CAAC,UAAU,GAAG,+BAAc,CAAA;QAE9C,IAAA,mCAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1C,IAAA,mCAAkB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC5C,IAAA,mCAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1C,IAAA,mCAAkB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAE5C,IAAA,uCAAsB,GAAE,CAAA;IAC5B,CAAC;IAES,MAAM,CAAC,gBAAgB;QAC7B,4BAAkB,CAAC,SAAS,GAAG,8BAAiC,CAAA;QAChE,IAAA,sCAAqB,GAAE,CAAA;IAC3B,CAAC;;AAnByB,kCAAW,GAAG,IAAA,uBAAU,GAAE,CAAA;AAC1B,oCAAa,GAAG,IAAA,uBAAU,GAAE,CAAA;AAC5B,kCAAW,GAAG,IAAA,uBAAU,GAAE,CAAA;AAC1B,oCAAa,GAAG,gBAAgB,CAAA;kBApDzC,sBAAsB"}
@@ -1,30 +1,20 @@
1
- import AbstractPackageTest from '../AbstractPackageTest';
2
- export default class ImplAutomoduleTest extends AbstractPackageTest {
3
- private static instance;
1
+ import AbstractAutomoduleTest from '../AbstractAutomoduleTest';
2
+ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
4
3
  protected static beforeEach(): Promise<void>;
4
+ protected static passesAbstractTests(): Promise<void>;
5
5
  protected static createsInstance(): Promise<void>;
6
- protected static runThrowsIfTestSaveDirMissing(): Promise<void>;
7
- protected static runThrowsIfModuleSaveDirMissing(): Promise<void>;
8
- protected static runThrowsIfFakeSaveDirMissing(): Promise<void>;
9
6
  protected static createsTestFileAsExpected(): Promise<void>;
10
7
  protected static createsModuleFileAsExpected(): Promise<void>;
11
8
  protected static createsFakeFileAsExpected(): Promise<void>;
12
9
  protected static sortsIndexFileExportsAlphabetically(): Promise<void>;
13
10
  protected static bumpsMinorVersionWithYarn(): Promise<void>;
14
- private static run;
15
11
  private static setFakeExec;
16
- private static setFakePathExists;
17
12
  private static setFakeReadFile;
18
- private static setFakeWriteFile;
19
13
  private static readonly interfaceName;
20
14
  private static readonly implName;
21
- private static readonly testSaveDir;
22
- private static readonly moduleSaveDir;
23
- private static readonly fakeSaveDir;
24
15
  private static get testFilePattern();
25
16
  private static get moduleFilePattern();
26
17
  private static get fakeFilePattern();
27
- private static readonly indexFilePath;
28
18
  private static get indexFilePattern();
29
19
  private static get sortedIndexFile();
30
20
  private static ImplAutomodule;
@@ -14,41 +14,29 @@ const util_1 = require("util");
14
14
  const test_utils_1 = require("@sprucelabs/test-utils");
15
15
  const fake_node_core_1 = require("@neurodevs/fake-node-core");
16
16
  const ImplAutomodule_1 = __importDefault(require("../../modules/ImplAutomodule"));
17
- const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
17
+ const AbstractAutomoduleTest_1 = __importDefault(require("../AbstractAutomoduleTest"));
18
18
  const exec = (0, util_1.promisify)(child_process_1.exec);
19
- class ImplAutomoduleTest extends AbstractPackageTest_1.default {
19
+ class ImplAutomoduleTest extends AbstractAutomoduleTest_1.default {
20
20
  static async beforeEach() {
21
21
  await super.beforeEach();
22
22
  this.setFakeExec();
23
- this.setFakePathExists();
24
23
  this.setFakeReadFile();
25
- this.setFakeWriteFile();
26
24
  this.instance = this.ImplAutomodule();
27
25
  }
26
+ static async passesAbstractTests() {
27
+ await this.runAbstractTests();
28
+ }
28
29
  static async createsInstance() {
29
30
  test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
30
31
  }
31
- static async runThrowsIfTestSaveDirMissing() {
32
- (0, fake_node_core_1.setPathShouldExist)(this.testSaveDir, false);
33
- const err = await test_utils_1.assert.doesThrowAsync(async () => await this.run());
34
- test_utils_1.assert.isEqual(err.message, `testSaveDir does not exist: ${this.testSaveDir}!`, 'Did not receive the expected error!');
35
- }
36
- static async runThrowsIfModuleSaveDirMissing() {
37
- (0, fake_node_core_1.setPathShouldExist)(this.moduleSaveDir, false);
38
- const err = await test_utils_1.assert.doesThrowAsync(async () => await this.run());
39
- test_utils_1.assert.isEqual(err.message, `moduleSaveDir does not exist: ${this.moduleSaveDir}!`, 'Did not receive the expected error!');
40
- }
41
- static async runThrowsIfFakeSaveDirMissing() {
42
- (0, fake_node_core_1.setPathShouldExist)(this.fakeSaveDir, false);
43
- const err = await test_utils_1.assert.doesThrowAsync(async () => await this.run());
44
- test_utils_1.assert.isEqual(err.message, `fakeSaveDir does not exist: ${this.fakeSaveDir}!`, 'Did not receive the expected error!');
45
- }
46
32
  static async createsTestFileAsExpected() {
47
33
  await this.run();
48
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[0], {
34
+ test_utils_1.assert.isEqualDeep({
35
+ file: fake_node_core_1.callsToWriteFile[0].file,
36
+ data: this.normalize(fake_node_core_1.callsToWriteFile[0].data),
37
+ }, {
49
38
  file: `${this.testSaveDir}/${this.implName}.test.ts`,
50
- data: this.testFilePattern,
51
- options: undefined,
39
+ data: this.normalize(this.testFilePattern),
52
40
  }, 'Did not write expected test file!');
53
41
  }
54
42
  static async createsModuleFileAsExpected() {
@@ -87,27 +75,14 @@ class ImplAutomoduleTest extends AbstractPackageTest_1.default {
87
75
  await this.run();
88
76
  test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec[0], 'yarn version --minor --no-git-tag-version', 'Did not bump minor version!');
89
77
  }
90
- static async run() {
91
- return await this.instance.run();
92
- }
93
78
  static setFakeExec() {
94
79
  ImplAutomodule_1.default.exec = fake_node_core_1.fakeExec;
95
- }
96
- static setFakePathExists() {
97
- ImplAutomodule_1.default.pathExists = fake_node_core_1.fakePathExists;
98
- (0, fake_node_core_1.setPathShouldExist)(this.testSaveDir, true);
99
- (0, fake_node_core_1.setPathShouldExist)(this.moduleSaveDir, true);
100
- (0, fake_node_core_1.setPathShouldExist)(this.fakeSaveDir, true);
101
- (0, fake_node_core_1.setPathShouldExist)(this.indexFilePath, true);
80
+ (0, fake_node_core_1.resetCallsToExec)();
102
81
  }
103
82
  static setFakeReadFile() {
104
83
  ImplAutomodule_1.default.readFile = fake_node_core_1.fakeReadFile;
105
84
  (0, fake_node_core_1.resetCallsToReadFile)();
106
85
  }
107
- static setFakeWriteFile() {
108
- ImplAutomodule_1.default.writeFile = fake_node_core_1.fakeWriteFile;
109
- (0, fake_node_core_1.resetCallsToWriteFile)();
110
- }
111
86
  static get testFilePattern() {
112
87
  return `
113
88
  import AbstractSpruceTest, { test, assert } from '@sprucelabs/test-utils'
@@ -115,10 +90,10 @@ class ImplAutomoduleTest extends AbstractPackageTest_1.default {
115
90
 
116
91
  export default class ${this.implName}Test extends AbstractSpruceTest {
117
92
  private static instance: ${this.interfaceName}
118
-
93
+
119
94
  protected static async beforeEach() {
120
95
  await super.beforeEach()
121
-
96
+
122
97
  this.instance = this.${this.implName}()
123
98
  }
124
99
 
@@ -205,23 +180,13 @@ class ImplAutomoduleTest extends AbstractPackageTest_1.default {
205
180
  }
206
181
  ImplAutomoduleTest.interfaceName = `B-${(0, test_utils_1.generateId)()}`;
207
182
  ImplAutomoduleTest.implName = (0, test_utils_1.generateId)();
208
- ImplAutomoduleTest.testSaveDir = (0, test_utils_1.generateId)();
209
- ImplAutomoduleTest.moduleSaveDir = (0, test_utils_1.generateId)();
210
- ImplAutomoduleTest.fakeSaveDir = (0, test_utils_1.generateId)();
211
- ImplAutomoduleTest.indexFilePath = './src/index.ts';
212
183
  exports.default = ImplAutomoduleTest;
213
184
  __decorate([
214
185
  (0, test_utils_1.test)()
215
- ], ImplAutomoduleTest, "createsInstance", null);
186
+ ], ImplAutomoduleTest, "passesAbstractTests", null);
216
187
  __decorate([
217
188
  (0, test_utils_1.test)()
218
- ], ImplAutomoduleTest, "runThrowsIfTestSaveDirMissing", null);
219
- __decorate([
220
- (0, test_utils_1.test)()
221
- ], ImplAutomoduleTest, "runThrowsIfModuleSaveDirMissing", null);
222
- __decorate([
223
- (0, test_utils_1.test)()
224
- ], ImplAutomoduleTest, "runThrowsIfFakeSaveDirMissing", null);
189
+ ], ImplAutomoduleTest, "createsInstance", null);
225
190
  __decorate([
226
191
  (0, test_utils_1.test)()
227
192
  ], ImplAutomoduleTest, "createsTestFileAsExpected", null);
@@ -1 +1 @@
1
- {"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import AbstractAutomoduleTest from '../AbstractAutomoduleTest';
2
+ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
3
+ protected static beforeEach(): Promise<void>;
4
+ protected static passesAbstractTests(): Promise<void>;
5
+ protected static createsInstance(): Promise<void>;
6
+ protected static createsTestFileAsExpected(): Promise<void>;
7
+ protected static createsModuleFileAsExpected(): Promise<void>;
8
+ protected static createsFakeFileAsExpected(): Promise<void>;
9
+ private static readonly componentName;
10
+ private static readonly componentNameKebabCase;
11
+ private static get testFilePattern();
12
+ private static get moduleFilePattern();
13
+ private static get fakeFilePattern();
14
+ private static toKebabCase;
15
+ private static UiAutomodule;
16
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ var _a;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const test_utils_1 = require("@sprucelabs/test-utils");
14
+ const fake_node_core_1 = require("@neurodevs/fake-node-core");
15
+ const UiAutomodule_1 = __importDefault(require("../../modules/UiAutomodule"));
16
+ const AbstractAutomoduleTest_1 = __importDefault(require("../AbstractAutomoduleTest"));
17
+ class UiAutomoduleTest extends AbstractAutomoduleTest_1.default {
18
+ static async beforeEach() {
19
+ await super.beforeEach();
20
+ this.instance = this.UiAutomodule();
21
+ }
22
+ static async passesAbstractTests() {
23
+ await this.runAbstractTests();
24
+ }
25
+ static async createsInstance() {
26
+ test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
27
+ }
28
+ static async createsTestFileAsExpected() {
29
+ await this.run();
30
+ test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[0], {
31
+ file: `${this.testSaveDir}/${this.componentName}.test.tsx`,
32
+ data: this.testFilePattern,
33
+ options: undefined,
34
+ }, 'Did not write expected test file!');
35
+ }
36
+ static async createsModuleFileAsExpected() {
37
+ await this.run();
38
+ test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[1], {
39
+ file: `${this.moduleSaveDir}/${this.componentName}.tsx`,
40
+ data: this.moduleFilePattern,
41
+ options: undefined,
42
+ }, 'Did not write expected module file!');
43
+ }
44
+ static async createsFakeFileAsExpected() {
45
+ await this.run();
46
+ test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[2], {
47
+ file: `${this.fakeSaveDir}/Fake${this.componentName}.tsx`,
48
+ data: this.fakeFilePattern,
49
+ options: undefined,
50
+ }, 'Did not write expected module file!');
51
+ }
52
+ static get testFilePattern() {
53
+ return `
54
+ import { test, assert } from '@sprucelabs/test-utils'
55
+ import { render, RenderResult } from '@testing-library/react'
56
+ import ${this.componentName} from '../../ui/${this.componentName}'
57
+ import AbstractPackageTest from '../AbstractPackageTest'
58
+
59
+ export default class ${this.componentName}Test extends AbstractPackageTest {
60
+ private static result: RenderResult
61
+
62
+ protected static async beforeEach() {
63
+ await super.beforeEach()
64
+
65
+ this.result = this.render()
66
+ }
67
+
68
+ @test()
69
+ protected static async rendersComponent() {
70
+ assert.isTruthy(this.result, 'Failed to render component!')
71
+ }
72
+
73
+ @test()
74
+ protected static async rendersTopLevelDivWithExpectedClass() {
75
+ assert.isEqual(
76
+ this.div.className,
77
+ this.className,
78
+ 'Incorrect class for top-level div!'
79
+ )
80
+ }
81
+
82
+ private static get div() {
83
+ return this.getByTestId(this.className)
84
+ }
85
+
86
+ private static get getByTestId() {
87
+ return this.result.getByTestId
88
+ }
89
+
90
+ private static readonly className = '${this.componentNameKebabCase}'
91
+
92
+ protected static render() {
93
+ return render(<${this.componentName} />)
94
+ }
95
+ }
96
+ `;
97
+ }
98
+ static get moduleFilePattern() {
99
+ return `
100
+ import React from 'react'
101
+
102
+ const ${this.componentName}: React.FC = () => {
103
+ return (
104
+ <div
105
+ className="${this.componentNameKebabCase}"
106
+ data-testid="${this.componentNameKebabCase}"
107
+ />
108
+ )
109
+ }
110
+
111
+ export default ${this.componentName}
112
+ `;
113
+ }
114
+ static get fakeFilePattern() {
115
+ return `
116
+ import React from 'react'
117
+ import { ${this.componentName}Props } from '../ui/${this.componentName}'
118
+
119
+ export let last${this.componentName}Props: ${this.componentName}Props | undefined
120
+
121
+ const Fake${this.componentName}: React.FC<${this.componentName}Props> = (
122
+ props: ${this.componentName}Props
123
+ ) => {
124
+ last${this.componentName}Props = props
125
+
126
+ return (
127
+ <div data-testid="${this.componentNameKebabCase}" />
128
+ )
129
+ }
130
+
131
+ export default Fake${this.componentName}
132
+ `;
133
+ }
134
+ static toKebabCase(str) {
135
+ return str
136
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
137
+ .replace(/[\s_]+/g, '-')
138
+ .toLowerCase();
139
+ }
140
+ static UiAutomodule() {
141
+ return UiAutomodule_1.default.Create({
142
+ testSaveDir: this.testSaveDir,
143
+ moduleSaveDir: this.moduleSaveDir,
144
+ fakeSaveDir: this.fakeSaveDir,
145
+ componentName: this.componentName,
146
+ });
147
+ }
148
+ }
149
+ _a = UiAutomoduleTest;
150
+ UiAutomoduleTest.componentName = (0, test_utils_1.generateId)();
151
+ UiAutomoduleTest.componentNameKebabCase = _a.toKebabCase(_a.componentName);
152
+ exports.default = UiAutomoduleTest;
153
+ __decorate([
154
+ (0, test_utils_1.test)()
155
+ ], UiAutomoduleTest, "passesAbstractTests", null);
156
+ __decorate([
157
+ (0, test_utils_1.test)()
158
+ ], UiAutomoduleTest, "createsInstance", null);
159
+ __decorate([
160
+ (0, test_utils_1.test)()
161
+ ], UiAutomoduleTest, "createsTestFileAsExpected", null);
162
+ __decorate([
163
+ (0, test_utils_1.test)()
164
+ ], UiAutomoduleTest, "createsModuleFileAsExpected", null);
165
+ __decorate([
166
+ (0, test_utils_1.test)()
167
+ ], UiAutomoduleTest, "createsFakeFileAsExpected", null);
168
+ //# sourceMappingURL=UiAutomodule.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/UiAutomodule.test.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -6,8 +6,12 @@ export { default as PackageAutodocumenter } from './modules/PackageAutodocumente
6
6
  export * from './modules/PackageAutodocumenter';
7
7
  export { default as FakeAutodocumenter } from './testDoubles/Autodocumenter/FakeAutodocumenter';
8
8
  export * from './testDoubles/Autodocumenter/FakeAutodocumenter';
9
+ export { default as AbstractAutomodule } from './modules/AbstractAutomodule';
10
+ export * from './modules/AbstractAutomodule';
9
11
  export { default as ImplAutomodule } from './modules/ImplAutomodule';
10
12
  export * from './modules/ImplAutomodule';
13
+ export { default as UiAutomodule } from './modules/UiAutomodule';
14
+ export * from './modules/UiAutomodule';
11
15
  export { default as FakeAutomodule } from './testDoubles/Automodule/FakeAutomodule';
12
16
  export * from './testDoubles/Automodule/FakeAutomodule';
13
17
  export { default as NpmAutopackage } from './modules/NpmAutopackage';
package/build/index.js CHANGED
@@ -18,7 +18,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.FakeAutopackage = exports.NpmAutopackage = exports.FakeAutomodule = exports.ImplAutomodule = exports.FakeAutodocumenter = exports.PackageAutodocumenter = exports.FakeAutocloner = exports.GitAutocloner = void 0;
21
+ exports.FakeAutopackage = exports.NpmAutopackage = exports.FakeAutomodule = exports.UiAutomodule = exports.ImplAutomodule = exports.AbstractAutomodule = exports.FakeAutodocumenter = exports.PackageAutodocumenter = exports.FakeAutocloner = exports.GitAutocloner = void 0;
22
22
  var GitAutocloner_1 = require("./modules/GitAutocloner");
23
23
  Object.defineProperty(exports, "GitAutocloner", { enumerable: true, get: function () { return __importDefault(GitAutocloner_1).default; } });
24
24
  __exportStar(require("./modules/GitAutocloner"), exports);
@@ -33,9 +33,15 @@ var FakeAutodocumenter_1 = require("./testDoubles/Autodocumenter/FakeAutodocumen
33
33
  Object.defineProperty(exports, "FakeAutodocumenter", { enumerable: true, get: function () { return __importDefault(FakeAutodocumenter_1).default; } });
34
34
  __exportStar(require("./testDoubles/Autodocumenter/FakeAutodocumenter"), exports);
35
35
  // Automodule
36
+ var AbstractAutomodule_1 = require("./modules/AbstractAutomodule");
37
+ Object.defineProperty(exports, "AbstractAutomodule", { enumerable: true, get: function () { return __importDefault(AbstractAutomodule_1).default; } });
38
+ __exportStar(require("./modules/AbstractAutomodule"), exports);
36
39
  var ImplAutomodule_1 = require("./modules/ImplAutomodule");
37
40
  Object.defineProperty(exports, "ImplAutomodule", { enumerable: true, get: function () { return __importDefault(ImplAutomodule_1).default; } });
38
41
  __exportStar(require("./modules/ImplAutomodule"), exports);
42
+ var UiAutomodule_1 = require("./modules/UiAutomodule");
43
+ Object.defineProperty(exports, "UiAutomodule", { enumerable: true, get: function () { return __importDefault(UiAutomodule_1).default; } });
44
+ __exportStar(require("./modules/UiAutomodule"), exports);
39
45
  var FakeAutomodule_1 = require("./testDoubles/Automodule/FakeAutomodule");
40
46
  Object.defineProperty(exports, "FakeAutomodule", { enumerable: true, get: function () { return __importDefault(FakeAutomodule_1).default; } });
41
47
  __exportStar(require("./testDoubles/Automodule/FakeAutomodule"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,aAAa;;;;;;;;;;;;;;;;;;;;AAEb,yDAAkE;AAAzD,+HAAA,OAAO,OAAiB;AACjC,0DAAuC;AAEvC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,iBAAiB;AAEjB,yEAAkF;AAAzE,+IAAA,OAAO,OAAyB;AACzC,kEAA+C;AAE/C,sFAA+F;AAAtF,yIAAA,OAAO,OAAsB;AACtC,kFAA+D;AAE/D,aAAa;AAEb,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,cAAc;AAEd,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,6EAAsF;AAA7E,mIAAA,OAAO,OAAmB;AACnC,4EAAyD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,aAAa;;;;;;;;;;;;;;;;;;;;AAEb,yDAAkE;AAAzD,+HAAA,OAAO,OAAiB;AACjC,0DAAuC;AAEvC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,iBAAiB;AAEjB,yEAAkF;AAAzE,+IAAA,OAAO,OAAyB;AACzC,kEAA+C;AAE/C,sFAA+F;AAAtF,yIAAA,OAAO,OAAsB;AACtC,kFAA+D;AAE/D,aAAa;AAEb,mEAA4E;AAAnE,yIAAA,OAAO,OAAsB;AACtC,+DAA4C;AAE5C,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,uDAAgE;AAAvD,6HAAA,OAAO,OAAgB;AAChC,yDAAsC;AAEtC,0EAAmF;AAA1E,iIAAA,OAAO,OAAkB;AAClC,0EAAuD;AAEvD,cAAc;AAEd,2DAAoE;AAA3D,iIAAA,OAAO,OAAkB;AAClC,2DAAwC;AAExC,6EAAsF;AAA7E,mIAAA,OAAO,OAAmB;AACnC,4EAAyD"}
@@ -0,0 +1,44 @@
1
+ import { writeFile } from 'fs/promises';
2
+ import { pathExists } from 'fs-extra';
3
+ import { Automodule, BaseAutomoduleOptions } from '../types';
4
+ export default abstract class AbstractAutomodule implements Automodule {
5
+ static pathExists: typeof pathExists;
6
+ static writeFile: typeof writeFile;
7
+ protected testSaveDir: string;
8
+ protected moduleSaveDir: string;
9
+ protected fakeSaveDir: string;
10
+ protected testFileName: string;
11
+ protected testFileContent: string;
12
+ protected moduleFileName: string;
13
+ protected moduleFileContent: string;
14
+ protected fakeFileName: string;
15
+ protected fakeFileContent: string;
16
+ protected constructor(options: BaseAutomoduleOptions);
17
+ abstract run(): Promise<void>;
18
+ protected runAbstract(options: AbstractAutomoduleRunOptions): Promise<void>;
19
+ private throwIfDirectoriesDoNotExist;
20
+ private throwIfTestDirDoesNotExist;
21
+ private throwIfModuleDirDoesNotExist;
22
+ private throwIfFakeDirDoesNotExist;
23
+ private throw;
24
+ private createTestFile;
25
+ private get testFilePath();
26
+ private createModuleFile;
27
+ private get moduleFilePath();
28
+ private createFakeFile;
29
+ private get fakeFilePath();
30
+ private get pathExists();
31
+ protected get writeFile(): typeof writeFile;
32
+ }
33
+ export interface AbstractAutomoduleOptions extends BaseAutomoduleOptions {
34
+ testFileName: string;
35
+ testFileContent: string;
36
+ }
37
+ export interface AbstractAutomoduleRunOptions {
38
+ testFileName: string;
39
+ testFileContent: string;
40
+ moduleFileName: string;
41
+ moduleFileContent: string;
42
+ fakeFileName: string;
43
+ fakeFileContent: string;
44
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const promises_1 = require("fs/promises");
4
+ const fs_extra_1 = require("fs-extra");
5
+ class AbstractAutomodule {
6
+ constructor(options) {
7
+ const { testSaveDir, moduleSaveDir, fakeSaveDir } = options;
8
+ this.testSaveDir = testSaveDir;
9
+ this.moduleSaveDir = moduleSaveDir;
10
+ this.fakeSaveDir = fakeSaveDir;
11
+ }
12
+ async runAbstract(options) {
13
+ const { testFileName, testFileContent, moduleFileName, moduleFileContent, fakeFileName, fakeFileContent, } = options;
14
+ this.testFileName = testFileName;
15
+ this.testFileContent = testFileContent;
16
+ this.moduleFileName = moduleFileName;
17
+ this.moduleFileContent = moduleFileContent;
18
+ this.fakeFileName = fakeFileName;
19
+ this.fakeFileContent = fakeFileContent;
20
+ await this.throwIfDirectoriesDoNotExist();
21
+ await this.createTestFile();
22
+ await this.createModuleFile();
23
+ await this.createFakeFile();
24
+ }
25
+ async throwIfDirectoriesDoNotExist() {
26
+ await this.throwIfTestDirDoesNotExist();
27
+ await this.throwIfModuleDirDoesNotExist();
28
+ await this.throwIfFakeDirDoesNotExist();
29
+ }
30
+ async throwIfTestDirDoesNotExist() {
31
+ const testDirExists = await this.pathExists(this.testSaveDir);
32
+ if (!testDirExists) {
33
+ this.throw(`testSaveDir does not exist: ${this.testSaveDir}!`);
34
+ }
35
+ }
36
+ async throwIfModuleDirDoesNotExist() {
37
+ const moduleDirExists = await this.pathExists(this.moduleSaveDir);
38
+ if (!moduleDirExists) {
39
+ this.throw(`moduleSaveDir does not exist: ${this.moduleSaveDir}!`);
40
+ }
41
+ }
42
+ async throwIfFakeDirDoesNotExist() {
43
+ const fakeDirExists = await this.pathExists(this.fakeSaveDir);
44
+ if (!fakeDirExists) {
45
+ this.throw(`fakeSaveDir does not exist: ${this.fakeSaveDir}!`);
46
+ }
47
+ }
48
+ throw(err) {
49
+ throw new Error(err);
50
+ }
51
+ async createTestFile() {
52
+ await this.writeFile(this.testFilePath, this.testFileContent);
53
+ }
54
+ get testFilePath() {
55
+ return `${this.testSaveDir}/${this.testFileName}`;
56
+ }
57
+ async createModuleFile() {
58
+ await this.writeFile(this.moduleFilePath, this.moduleFileContent);
59
+ }
60
+ get moduleFilePath() {
61
+ return `${this.moduleSaveDir}/${this.moduleFileName}`;
62
+ }
63
+ async createFakeFile() {
64
+ await this.writeFile(this.fakeFilePath, this.fakeFileContent);
65
+ }
66
+ get fakeFilePath() {
67
+ return `${this.fakeSaveDir}/${this.fakeFileName}`;
68
+ }
69
+ get pathExists() {
70
+ return AbstractAutomodule.pathExists;
71
+ }
72
+ get writeFile() {
73
+ return AbstractAutomodule.writeFile;
74
+ }
75
+ }
76
+ AbstractAutomodule.pathExists = fs_extra_1.pathExists;
77
+ AbstractAutomodule.writeFile = promises_1.writeFile;
78
+ exports.default = AbstractAutomodule;
79
+ //# sourceMappingURL=AbstractAutomodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractAutomodule.js","sourceRoot":"","sources":["../../src/modules/AbstractAutomodule.ts"],"names":[],"mappings":"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"}