@neurodevs/ndx-cli 0.1.12 → 0.1.14

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.
@@ -1,9 +1,17 @@
1
1
  import AbstractSpruceTest from '@sprucelabs/test-utils';
2
2
  export default class CliCommandRunnerTest extends AbstractSpruceTest {
3
3
  private static readonly createImplCommand;
4
+ private static readonly interfaceName;
5
+ private static readonly implName;
4
6
  private static readonly createPackageCommand;
7
+ private static readonly packageName;
8
+ private static readonly description;
9
+ private static readonly keywords;
10
+ private static readonly createUiCommand;
11
+ private static readonly componentName;
5
12
  private static readonly testSaveDir;
6
13
  private static readonly moduleSaveDir;
14
+ private static readonly githubToken;
7
15
  protected static beforeEach(): Promise<void>;
8
16
  protected static throwsIfCommandIsNotSupported(): Promise<void>;
9
17
  protected static createImplCreatesInstance(): Promise<void>;
@@ -20,26 +28,30 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
20
28
  protected static createPackageCreatesNpmAutopackage(): Promise<void>;
21
29
  private static keywordsWithDefaults;
22
30
  protected static createPackageRunsNpmAutopackage(): Promise<void>;
31
+ protected static createUiCreatesInstance(): Promise<void>;
32
+ protected static createUiPromptsUserForInput(): Promise<void>;
33
+ protected static createUiDoesNotContinueIfPromptsIsInterrupted(): Promise<void>;
34
+ protected static createUiCreatesTestSaveDirIfNotExists(): Promise<void>;
35
+ protected static createUiCreatesModuleSaveDirIfNotExists(): Promise<void>;
36
+ protected static createUiCreatesFakeSaveDirIfNotExists(): Promise<void>;
37
+ protected static createUiCreatesUiAutomodule(): Promise<void>;
38
+ protected static createUiRunsUiAutomodule(): Promise<void>;
39
+ private static get fakeSaveDirComponent();
40
+ private static runCreateUi;
23
41
  private static runCreateImpl;
24
42
  private static runCreatePackage;
25
43
  private static expandHomeDir;
26
44
  private static splitOnCommaOrWhitespace;
27
45
  private static get fakeSaveDir();
28
- private static setFakeMkdir;
29
- private static setFakeAutomodule;
46
+ private static setFakeImplAutomodule;
47
+ private static setFakeUiAutomodule;
30
48
  private static setFakeAutopackage;
49
+ private static setFakeMkdir;
31
50
  private static setFakePrompts;
32
- private static setFakeResponsesForCreateImpl;
33
- private static setFakePromptResponsesForCreatePackage;
34
- private static readonly interfaceName;
35
- private static readonly implName;
36
- private static readonly packageName;
37
- private static readonly description;
38
- private static readonly keywords;
39
- private static readonly githubToken;
40
51
  private static readonly interfaceNameMessage;
41
52
  private static readonly implNameMessage;
42
53
  private static readonly packageNameMessage;
43
54
  private static readonly packageDescriptionMessage;
55
+ private static readonly componentNameMessage;
44
56
  private static CliCommandRunner;
45
57
  }
@@ -52,10 +52,11 @@ const fakePrompts_1 = require("../../testDoubles/prompts/fakePrompts");
52
52
  class CliCommandRunnerTest extends test_utils_1.default {
53
53
  static async beforeEach() {
54
54
  await super.beforeEach();
55
+ this.setFakeImplAutomodule();
56
+ this.setFakeUiAutomodule();
57
+ this.setFakeAutopackage();
55
58
  this.setFakePrompts();
56
59
  this.setFakeMkdir();
57
- this.setFakeAutomodule();
58
- this.setFakeAutopackage();
59
60
  process.env.GITHUB_TOKEN = this.githubToken;
60
61
  }
61
62
  static async throwsIfCommandIsNotSupported() {
@@ -100,7 +101,10 @@ class CliCommandRunnerTest extends test_utils_1.default {
100
101
  }
101
102
  static async createImplCreatesFakeSaveDirIfNotExists() {
102
103
  await this.runCreateImpl();
103
- test_utils_1.assert.isEqualDeep(fakeMkdir_1.callsToMkdir[2], { path: this.fakeSaveDir, options: { recursive: true } }, 'Did not create fake save dir!');
104
+ test_utils_1.assert.isEqualDeep(fakeMkdir_1.callsToMkdir[2], {
105
+ path: `src/testDoubles/${this.interfaceName}`,
106
+ options: { recursive: true },
107
+ }, 'Did not create fake save dir!');
104
108
  }
105
109
  static async createImplCreatesImplAutomodule() {
106
110
  await this.runCreateImpl();
@@ -150,7 +154,6 @@ class CliCommandRunnerTest extends test_utils_1.default {
150
154
  test_utils_1.assert.isEqual(meta_node_1.FakeAutopackage.numCallsToRun, 0, 'Should not have called run on Autopackage!');
151
155
  }
152
156
  static async createPackageCreatesNpmAutopackage() {
153
- this.setFakePromptResponsesForCreatePackage();
154
157
  await this.runCreatePackage();
155
158
  test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutopackage.callsToConstructor[0], {
156
159
  name: this.packageName,
@@ -170,14 +173,83 @@ class CliCommandRunnerTest extends test_utils_1.default {
170
173
  await this.runCreatePackage();
171
174
  test_utils_1.assert.isEqual(meta_node_1.FakeAutopackage.numCallsToRun, 1, 'Did not call run on Autopackage!');
172
175
  }
176
+ static async createUiCreatesInstance() {
177
+ const instance = await this.runCreateUi();
178
+ test_utils_1.assert.isTruthy(instance, `Failed to create instance for ${this.createUiCommand}!`);
179
+ }
180
+ static async createUiPromptsUserForInput() {
181
+ await this.runCreateUi();
182
+ test_utils_1.assert.isEqualDeep(fakePrompts_1.callsToFakePrompts[0], [
183
+ {
184
+ type: 'text',
185
+ name: 'componentName',
186
+ message: this.componentNameMessage,
187
+ },
188
+ ], 'Did not prompt user for expected input!');
189
+ }
190
+ static async createUiDoesNotContinueIfPromptsIsInterrupted() {
191
+ await this.runCreateUi({
192
+ componentName: '',
193
+ });
194
+ test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 0, 'Should not have called run on UiAutomodule!');
195
+ }
196
+ static async createUiCreatesTestSaveDirIfNotExists() {
197
+ await this.runCreateUi();
198
+ test_utils_1.assert.isEqualDeep(fakeMkdir_1.callsToMkdir[0], { path: this.testSaveDir, options: { recursive: true } }, 'Did not create test save dir!');
199
+ }
200
+ static async createUiCreatesModuleSaveDirIfNotExists() {
201
+ await this.runCreateUi();
202
+ test_utils_1.assert.isEqualDeep(fakeMkdir_1.callsToMkdir[1], { path: this.moduleSaveDir, options: { recursive: true } }, 'Did not create module save dir!');
203
+ }
204
+ static async createUiCreatesFakeSaveDirIfNotExists() {
205
+ await this.runCreateUi();
206
+ test_utils_1.assert.isEqualDeep(fakeMkdir_1.callsToMkdir[2], {
207
+ path: this.fakeSaveDirComponent,
208
+ options: { recursive: true },
209
+ }, 'Did not create fake save dir!');
210
+ }
211
+ static async createUiCreatesUiAutomodule() {
212
+ await this.runCreateUi();
213
+ test_utils_1.assert.isEqualDeep(meta_node_1.FakeAutomodule.callsToConstructor[0], {
214
+ testSaveDir: this.testSaveDir,
215
+ moduleSaveDir: this.moduleSaveDir,
216
+ fakeSaveDir: this.fakeSaveDirComponent,
217
+ componentName: this.componentName,
218
+ }, 'Did not create UiAutomodule with expected options!');
219
+ }
220
+ static async createUiRunsUiAutomodule() {
221
+ await this.runCreateUi();
222
+ test_utils_1.assert.isEqual(meta_node_1.FakeAutomodule.numCallsToRun, 1, 'Did not call run on UiAutomodule!');
223
+ }
224
+ static get fakeSaveDirComponent() {
225
+ return `src/testDoubles/${this.componentName}`;
226
+ }
227
+ static async runCreateUi(responses) {
228
+ (0, fakePrompts_1.setFakeResponses)({
229
+ componentName: this.componentName,
230
+ ...responses,
231
+ });
232
+ const instance = this.CliCommandRunner([this.createUiCommand]);
233
+ await instance.run();
234
+ return instance;
235
+ }
173
236
  static async runCreateImpl(responses) {
174
- this.setFakeResponsesForCreateImpl(responses);
237
+ (0, fakePrompts_1.setFakeResponses)({
238
+ interfaceName: this.interfaceName,
239
+ implName: this.implName,
240
+ ...responses,
241
+ });
175
242
  const instance = this.CliCommandRunner([this.createImplCommand]);
176
243
  await instance.run();
177
244
  return instance;
178
245
  }
179
246
  static async runCreatePackage(responses) {
180
- this.setFakePromptResponsesForCreatePackage(responses);
247
+ (0, fakePrompts_1.setFakeResponses)({
248
+ packageName: this.packageName,
249
+ description: this.description,
250
+ keywords: this.keywords,
251
+ ...responses,
252
+ });
181
253
  const instance = this.CliCommandRunner([this.createPackageCommand]);
182
254
  await instance.run();
183
255
  return instance;
@@ -196,55 +268,47 @@ class CliCommandRunnerTest extends test_utils_1.default {
196
268
  static get fakeSaveDir() {
197
269
  return `src/testDoubles/${this.interfaceName}`;
198
270
  }
199
- static setFakeMkdir() {
200
- CliCommandRunner_1.default.mkdir = fakeMkdir_1.default;
201
- (0, fakeMkdir_1.resetCallsToMkdir)();
202
- }
203
- static setFakeAutomodule() {
271
+ static setFakeImplAutomodule() {
204
272
  meta_node_1.ImplAutomodule.Class = meta_node_1.FakeAutomodule;
205
273
  meta_node_1.FakeAutomodule.resetTestDouble();
206
274
  }
275
+ static setFakeUiAutomodule() {
276
+ meta_node_1.UiAutomodule.Class = meta_node_1.FakeAutomodule;
277
+ meta_node_1.FakeAutomodule.resetTestDouble();
278
+ }
207
279
  static setFakeAutopackage() {
208
280
  meta_node_1.NpmAutopackage.Class = meta_node_1.FakeAutopackage;
209
281
  meta_node_1.FakeAutopackage.resetTestDouble();
210
282
  }
283
+ static setFakeMkdir() {
284
+ CliCommandRunner_1.default.mkdir = fakeMkdir_1.default;
285
+ (0, fakeMkdir_1.resetCallsToMkdir)();
286
+ }
211
287
  static setFakePrompts() {
212
288
  CliCommandRunner_1.default.prompts = fakePrompts_1.fakePrompts;
213
289
  (0, fakePrompts_1.resetCallsToFakePrompts)();
214
290
  }
215
- static setFakeResponsesForCreateImpl(responses) {
216
- (0, fakePrompts_1.setFakeResponses)({
217
- interfaceName: this.interfaceName,
218
- implName: this.implName,
219
- ...responses,
220
- });
221
- }
222
- static setFakePromptResponsesForCreatePackage(responses) {
223
- (0, fakePrompts_1.setFakeResponses)({
224
- packageName: this.packageName,
225
- description: this.description,
226
- keywords: this.keywords,
227
- ...responses,
228
- });
229
- }
230
291
  static CliCommandRunner(args) {
231
292
  return CliCommandRunner_1.default.Create(args);
232
293
  }
233
294
  }
234
295
  CliCommandRunnerTest.createImplCommand = 'create.impl';
235
- CliCommandRunnerTest.createPackageCommand = 'create.package';
236
- CliCommandRunnerTest.testSaveDir = 'src/__tests__/modules';
237
- CliCommandRunnerTest.moduleSaveDir = 'src/modules';
238
296
  CliCommandRunnerTest.interfaceName = (0, test_utils_1.generateId)();
239
297
  CliCommandRunnerTest.implName = (0, test_utils_1.generateId)();
298
+ CliCommandRunnerTest.createPackageCommand = 'create.package';
240
299
  CliCommandRunnerTest.packageName = (0, test_utils_1.generateId)();
241
300
  CliCommandRunnerTest.description = (0, test_utils_1.generateId)();
242
301
  CliCommandRunnerTest.keywords = [(0, test_utils_1.generateId)(), (0, test_utils_1.generateId)()];
302
+ CliCommandRunnerTest.createUiCommand = 'create.ui';
303
+ CliCommandRunnerTest.componentName = (0, test_utils_1.generateId)();
304
+ CliCommandRunnerTest.testSaveDir = 'src/__tests__/modules';
305
+ CliCommandRunnerTest.moduleSaveDir = 'src/modules';
243
306
  CliCommandRunnerTest.githubToken = (0, test_utils_1.generateId)();
244
307
  CliCommandRunnerTest.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
245
308
  CliCommandRunnerTest.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
246
309
  CliCommandRunnerTest.packageNameMessage = 'What should the package be called? Example: useful-package';
247
310
  CliCommandRunnerTest.packageDescriptionMessage = 'What should the package description be? Example: A useful package.';
311
+ CliCommandRunnerTest.componentNameMessage = 'What should the component be called? Example: YourComponent';
248
312
  exports.default = CliCommandRunnerTest;
249
313
  __decorate([
250
314
  (0, test_utils_1.test)()
@@ -288,4 +352,28 @@ __decorate([
288
352
  __decorate([
289
353
  (0, test_utils_1.test)()
290
354
  ], CliCommandRunnerTest, "createPackageRunsNpmAutopackage", null);
355
+ __decorate([
356
+ (0, test_utils_1.test)()
357
+ ], CliCommandRunnerTest, "createUiCreatesInstance", null);
358
+ __decorate([
359
+ (0, test_utils_1.test)()
360
+ ], CliCommandRunnerTest, "createUiPromptsUserForInput", null);
361
+ __decorate([
362
+ (0, test_utils_1.test)()
363
+ ], CliCommandRunnerTest, "createUiDoesNotContinueIfPromptsIsInterrupted", null);
364
+ __decorate([
365
+ (0, test_utils_1.test)()
366
+ ], CliCommandRunnerTest, "createUiCreatesTestSaveDirIfNotExists", null);
367
+ __decorate([
368
+ (0, test_utils_1.test)()
369
+ ], CliCommandRunnerTest, "createUiCreatesModuleSaveDirIfNotExists", null);
370
+ __decorate([
371
+ (0, test_utils_1.test)()
372
+ ], CliCommandRunnerTest, "createUiCreatesFakeSaveDirIfNotExists", null);
373
+ __decorate([
374
+ (0, test_utils_1.test)()
375
+ ], CliCommandRunnerTest, "createUiCreatesUiAutomodule", null);
376
+ __decorate([
377
+ (0, test_utils_1.test)()
378
+ ], CliCommandRunnerTest, "createUiRunsUiAutomodule", null);
291
379
  //# sourceMappingURL=CliCommandRunner.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CliCommandRunner.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/CliCommandRunner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CliCommandRunner.test.js","sourceRoot":"","sources":["../../../src/__tests__/modules/CliCommandRunner.test.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export default class CliCommandRunner implements CommandRunner {
12
12
  private packageName;
13
13
  private description;
14
14
  private keywords;
15
+ private readonly createUiCommand;
16
+ private componentName;
15
17
  private readonly supportedCommands;
16
18
  protected constructor(args: string[]);
17
19
  static Create(args: string[]): CommandRunner;
@@ -20,9 +22,7 @@ export default class CliCommandRunner implements CommandRunner {
20
22
  private get commandIsSupported();
21
23
  private get command();
22
24
  private runCommand;
23
- private get isCreateImplCommand();
24
- private get isCreatePackageCommand();
25
- private createImpl;
25
+ private createImplModule;
26
26
  private promptForAutomodule;
27
27
  private readonly interfaceNameMessage;
28
28
  private readonly implNameMessage;
@@ -35,6 +35,9 @@ export default class CliCommandRunner implements CommandRunner {
35
35
  private readonly keywordsMessage;
36
36
  private splitOnCommaOrWhitespace;
37
37
  private get userInputExistsForCreatePackage();
38
+ private createUiModule;
39
+ private promptForUimodule;
40
+ private readonly componentNameMessage;
38
41
  private expandHomeDir;
39
42
  private readonly testSaveDir;
40
43
  private readonly moduleSaveDir;
@@ -42,6 +45,7 @@ export default class CliCommandRunner implements CommandRunner {
42
45
  private get prompts();
43
46
  private get mkdir();
44
47
  private ImplAutomodule;
48
+ private UiAutomodule;
45
49
  private NpmAutopackage;
46
50
  }
47
51
  export interface CommandRunner {
@@ -12,15 +12,18 @@ class CliCommandRunner {
12
12
  constructor(args) {
13
13
  this.createImplCommand = 'create.impl';
14
14
  this.createPackageCommand = 'create.package';
15
+ this.createUiCommand = 'create.ui';
15
16
  this.supportedCommands = [
16
17
  this.createImplCommand,
17
18
  this.createPackageCommand,
19
+ this.createUiCommand,
18
20
  ];
19
21
  this.interfaceNameMessage = 'What should the interface be called? Example: YourInterface';
20
22
  this.implNameMessage = 'What should the implementation class be called? Example: YourInterfaceImpl';
21
23
  this.packageNameMessage = 'What should the package be called? Example: useful-package';
22
24
  this.descriptionMessage = 'What should the package description be? Example: A useful package.';
23
25
  this.keywordsMessage = 'Enter keywords (comma or space separated, lowercase, optional):';
26
+ this.componentNameMessage = 'What should the component be called? Example: YourComponent';
24
27
  this.testSaveDir = 'src/__tests__/modules';
25
28
  this.moduleSaveDir = 'src/modules';
26
29
  this.args = args;
@@ -44,20 +47,19 @@ class CliCommandRunner {
44
47
  return this.args[0];
45
48
  }
46
49
  async runCommand() {
47
- if (this.isCreateImplCommand) {
48
- await this.createImpl();
50
+ switch (this.command) {
51
+ case this.createImplCommand:
52
+ await this.createImplModule();
53
+ break;
54
+ case this.createPackageCommand:
55
+ await this.createPackage();
56
+ break;
57
+ case this.createUiCommand:
58
+ await this.createUiModule();
59
+ break;
49
60
  }
50
- else if (this.isCreatePackageCommand) {
51
- await this.createPackage();
52
- }
53
- }
54
- get isCreateImplCommand() {
55
- return this.command === this.createImplCommand;
56
- }
57
- get isCreatePackageCommand() {
58
- return this.command === this.createPackageCommand;
59
61
  }
60
- async createImpl() {
62
+ async createImplModule() {
61
63
  const { interfaceName, implName } = await this.promptForAutomodule();
62
64
  this.interfaceName = interfaceName;
63
65
  this.implName = implName;
@@ -131,13 +133,32 @@ class CliCommandRunner {
131
133
  get userInputExistsForCreatePackage() {
132
134
  return this.packageName && this.description;
133
135
  }
136
+ async createUiModule() {
137
+ const { componentName } = await this.promptForUimodule();
138
+ this.componentName = componentName;
139
+ if (!this.componentName) {
140
+ return;
141
+ }
142
+ await this.makeRequiredDirectories();
143
+ const instance = this.UiAutomodule();
144
+ await instance.run();
145
+ }
146
+ async promptForUimodule() {
147
+ return await this.prompts([
148
+ {
149
+ type: 'text',
150
+ name: 'componentName',
151
+ message: this.componentNameMessage,
152
+ },
153
+ ]);
154
+ }
134
155
  expandHomeDir(inputPath) {
135
156
  return inputPath.startsWith('~')
136
157
  ? path_1.default.join(os_1.default.homedir(), inputPath.slice(1))
137
158
  : inputPath;
138
159
  }
139
160
  get fakeSaveDir() {
140
- return `src/testDoubles/${this.interfaceName}`;
161
+ return `src/testDoubles/${this.interfaceName ?? this.componentName}`;
141
162
  }
142
163
  get prompts() {
143
164
  return CliCommandRunner.prompts;
@@ -154,6 +175,14 @@ class CliCommandRunner {
154
175
  implName: this.implName,
155
176
  });
156
177
  }
178
+ UiAutomodule() {
179
+ return meta_node_1.UiAutomodule.Create({
180
+ testSaveDir: this.testSaveDir,
181
+ moduleSaveDir: this.moduleSaveDir,
182
+ fakeSaveDir: this.fakeSaveDir,
183
+ componentName: this.componentName,
184
+ });
185
+ }
157
186
  NpmAutopackage() {
158
187
  return meta_node_1.NpmAutopackage.Create({
159
188
  name: this.packageName,
@@ -1 +1 @@
1
- {"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/modules/CliCommandRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CliCommandRunner.js","sourceRoot":"","sources":["../../src/modules/CliCommandRunner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/ndx-cli",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "description": "CLI tools for the Neurodevs ecosystem.",
5
5
  "keywords": [
6
6
  "nodejs",
@@ -48,7 +48,7 @@
48
48
  "watch.tsc": "tsc -w"
49
49
  },
50
50
  "dependencies": {
51
- "@neurodevs/meta-node": "^0.7.1",
51
+ "@neurodevs/meta-node": "^0.9.0",
52
52
  "prompts": "^2.4.2"
53
53
  },
54
54
  "devDependencies": {
@@ -11,6 +11,7 @@ import {
11
11
  FakeAutopackage,
12
12
  ImplAutomodule,
13
13
  NpmAutopackage,
14
+ UiAutomodule,
14
15
  } from '@neurodevs/meta-node'
15
16
  import prompts from 'prompts'
16
17
  import CliCommandRunner from '../../modules/CliCommandRunner'
@@ -27,19 +28,29 @@ import {
27
28
 
28
29
  export default class CliCommandRunnerTest extends AbstractSpruceTest {
29
30
  private static readonly createImplCommand = 'create.impl'
31
+ private static readonly interfaceName = generateId()
32
+ private static readonly implName = generateId()
33
+
30
34
  private static readonly createPackageCommand = 'create.package'
35
+ private static readonly packageName = generateId()
36
+ private static readonly description = generateId()
37
+ private static readonly keywords = [generateId(), generateId()]
31
38
 
32
- private static readonly testSaveDir = 'src/__tests__/modules'
39
+ private static readonly createUiCommand = 'create.ui'
40
+ private static readonly componentName = generateId()
33
41
 
42
+ private static readonly testSaveDir = 'src/__tests__/modules'
34
43
  private static readonly moduleSaveDir = 'src/modules'
44
+ private static readonly githubToken = generateId()
35
45
 
36
46
  protected static async beforeEach() {
37
47
  await super.beforeEach()
38
48
 
49
+ this.setFakeImplAutomodule()
50
+ this.setFakeUiAutomodule()
51
+ this.setFakeAutopackage()
39
52
  this.setFakePrompts()
40
53
  this.setFakeMkdir()
41
- this.setFakeAutomodule()
42
- this.setFakeAutopackage()
43
54
 
44
55
  process.env.GITHUB_TOKEN = this.githubToken
45
56
  }
@@ -134,7 +145,10 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
134
145
 
135
146
  assert.isEqualDeep(
136
147
  callsToMkdir[2],
137
- { path: this.fakeSaveDir, options: { recursive: true } },
148
+ {
149
+ path: `src/testDoubles/${this.interfaceName}`,
150
+ options: { recursive: true },
151
+ },
138
152
  'Did not create fake save dir!'
139
153
  )
140
154
  }
@@ -224,8 +238,6 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
224
238
 
225
239
  @test()
226
240
  protected static async createPackageCreatesNpmAutopackage() {
227
- this.setFakePromptResponsesForCreatePackage()
228
-
229
241
  await this.runCreatePackage()
230
242
 
231
243
  assert.isEqualDeep(
@@ -259,8 +271,131 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
259
271
  )
260
272
  }
261
273
 
274
+ @test()
275
+ protected static async createUiCreatesInstance() {
276
+ const instance = await this.runCreateUi()
277
+
278
+ assert.isTruthy(
279
+ instance,
280
+ `Failed to create instance for ${this.createUiCommand}!`
281
+ )
282
+ }
283
+
284
+ @test()
285
+ protected static async createUiPromptsUserForInput() {
286
+ await this.runCreateUi()
287
+
288
+ assert.isEqualDeep(
289
+ callsToFakePrompts[0],
290
+ [
291
+ {
292
+ type: 'text',
293
+ name: 'componentName',
294
+ message: this.componentNameMessage,
295
+ },
296
+ ],
297
+ 'Did not prompt user for expected input!'
298
+ )
299
+ }
300
+
301
+ @test()
302
+ protected static async createUiDoesNotContinueIfPromptsIsInterrupted() {
303
+ await this.runCreateUi({
304
+ componentName: '',
305
+ })
306
+
307
+ assert.isEqual(
308
+ FakeAutomodule.numCallsToRun,
309
+ 0,
310
+ 'Should not have called run on UiAutomodule!'
311
+ )
312
+ }
313
+
314
+ @test()
315
+ protected static async createUiCreatesTestSaveDirIfNotExists() {
316
+ await this.runCreateUi()
317
+
318
+ assert.isEqualDeep(
319
+ callsToMkdir[0],
320
+ { path: this.testSaveDir, options: { recursive: true } },
321
+ 'Did not create test save dir!'
322
+ )
323
+ }
324
+
325
+ @test()
326
+ protected static async createUiCreatesModuleSaveDirIfNotExists() {
327
+ await this.runCreateUi()
328
+
329
+ assert.isEqualDeep(
330
+ callsToMkdir[1],
331
+ { path: this.moduleSaveDir, options: { recursive: true } },
332
+ 'Did not create module save dir!'
333
+ )
334
+ }
335
+
336
+ @test()
337
+ protected static async createUiCreatesFakeSaveDirIfNotExists() {
338
+ await this.runCreateUi()
339
+
340
+ assert.isEqualDeep(
341
+ callsToMkdir[2],
342
+ {
343
+ path: this.fakeSaveDirComponent,
344
+ options: { recursive: true },
345
+ },
346
+ 'Did not create fake save dir!'
347
+ )
348
+ }
349
+
350
+ @test()
351
+ protected static async createUiCreatesUiAutomodule() {
352
+ await this.runCreateUi()
353
+
354
+ assert.isEqualDeep(
355
+ FakeAutomodule.callsToConstructor[0],
356
+ {
357
+ testSaveDir: this.testSaveDir,
358
+ moduleSaveDir: this.moduleSaveDir,
359
+ fakeSaveDir: this.fakeSaveDirComponent,
360
+ componentName: this.componentName,
361
+ },
362
+ 'Did not create UiAutomodule with expected options!'
363
+ )
364
+ }
365
+
366
+ @test()
367
+ protected static async createUiRunsUiAutomodule() {
368
+ await this.runCreateUi()
369
+
370
+ assert.isEqual(
371
+ FakeAutomodule.numCallsToRun,
372
+ 1,
373
+ 'Did not call run on UiAutomodule!'
374
+ )
375
+ }
376
+
377
+ private static get fakeSaveDirComponent() {
378
+ return `src/testDoubles/${this.componentName}`
379
+ }
380
+
381
+ private static async runCreateUi(responses?: Record<string, string>) {
382
+ setFakeResponses({
383
+ componentName: this.componentName,
384
+ ...responses,
385
+ })
386
+
387
+ const instance = this.CliCommandRunner([this.createUiCommand])
388
+ await instance.run()
389
+
390
+ return instance
391
+ }
392
+
262
393
  private static async runCreateImpl(responses?: Record<string, string>) {
263
- this.setFakeResponsesForCreateImpl(responses)
394
+ setFakeResponses({
395
+ interfaceName: this.interfaceName,
396
+ implName: this.implName,
397
+ ...responses,
398
+ })
264
399
 
265
400
  const instance = this.CliCommandRunner([this.createImplCommand])
266
401
  await instance.run()
@@ -269,7 +404,12 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
269
404
  }
270
405
 
271
406
  private static async runCreatePackage(responses?: Record<string, string>) {
272
- this.setFakePromptResponsesForCreatePackage(responses)
407
+ setFakeResponses({
408
+ packageName: this.packageName,
409
+ description: this.description,
410
+ keywords: this.keywords,
411
+ ...responses,
412
+ })
273
413
 
274
414
  const instance = this.CliCommandRunner([this.createPackageCommand])
275
415
  await instance.run()
@@ -294,13 +434,13 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
294
434
  return `src/testDoubles/${this.interfaceName}`
295
435
  }
296
436
 
297
- private static setFakeMkdir() {
298
- CliCommandRunner.mkdir = fakeMkdir as unknown as typeof mkdir
299
- resetCallsToMkdir()
437
+ private static setFakeImplAutomodule() {
438
+ ImplAutomodule.Class = FakeAutomodule
439
+ FakeAutomodule.resetTestDouble()
300
440
  }
301
441
 
302
- private static setFakeAutomodule() {
303
- ImplAutomodule.Class = FakeAutomodule
442
+ private static setFakeUiAutomodule() {
443
+ UiAutomodule.Class = FakeAutomodule
304
444
  FakeAutomodule.resetTestDouble()
305
445
  }
306
446
 
@@ -309,39 +449,16 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
309
449
  FakeAutopackage.resetTestDouble()
310
450
  }
311
451
 
452
+ private static setFakeMkdir() {
453
+ CliCommandRunner.mkdir = fakeMkdir as unknown as typeof mkdir
454
+ resetCallsToMkdir()
455
+ }
456
+
312
457
  private static setFakePrompts() {
313
458
  CliCommandRunner.prompts = fakePrompts as unknown as typeof prompts
314
459
  resetCallsToFakePrompts()
315
460
  }
316
461
 
317
- private static setFakeResponsesForCreateImpl(
318
- responses?: Record<string, string>
319
- ) {
320
- setFakeResponses({
321
- interfaceName: this.interfaceName,
322
- implName: this.implName,
323
- ...responses,
324
- })
325
- }
326
-
327
- private static setFakePromptResponsesForCreatePackage(
328
- responses?: Record<string, string>
329
- ) {
330
- setFakeResponses({
331
- packageName: this.packageName,
332
- description: this.description,
333
- keywords: this.keywords,
334
- ...responses,
335
- })
336
- }
337
-
338
- private static readonly interfaceName = generateId()
339
- private static readonly implName = generateId()
340
- private static readonly packageName = generateId()
341
- private static readonly description = generateId()
342
- private static readonly keywords = [generateId(), generateId()]
343
- private static readonly githubToken = generateId()
344
-
345
462
  private static readonly interfaceNameMessage =
346
463
  'What should the interface be called? Example: YourInterface'
347
464
 
@@ -354,6 +471,9 @@ export default class CliCommandRunnerTest extends AbstractSpruceTest {
354
471
  private static readonly packageDescriptionMessage =
355
472
  'What should the package description be? Example: A useful package.'
356
473
 
474
+ private static readonly componentNameMessage =
475
+ 'What should the component be called? Example: YourComponent'
476
+
357
477
  private static CliCommandRunner(args: string[]) {
358
478
  return CliCommandRunner.Create(args)
359
479
  }
@@ -1,7 +1,11 @@
1
1
  import { mkdir } from 'fs/promises'
2
2
  import os from 'os'
3
3
  import path from 'path'
4
- import { ImplAutomodule, NpmAutopackage } from '@neurodevs/meta-node'
4
+ import {
5
+ ImplAutomodule,
6
+ NpmAutopackage,
7
+ UiAutomodule,
8
+ } from '@neurodevs/meta-node'
5
9
  import prompts from 'prompts'
6
10
 
7
11
  export default class CliCommandRunner implements CommandRunner {
@@ -20,9 +24,13 @@ export default class CliCommandRunner implements CommandRunner {
20
24
  private description!: string
21
25
  private keywords!: string[]
22
26
 
27
+ private readonly createUiCommand = 'create.ui'
28
+ private componentName!: string
29
+
23
30
  private readonly supportedCommands = [
24
31
  this.createImplCommand,
25
32
  this.createPackageCommand,
33
+ this.createUiCommand,
26
34
  ]
27
35
 
28
36
  protected constructor(args: string[]) {
@@ -53,22 +61,20 @@ export default class CliCommandRunner implements CommandRunner {
53
61
  }
54
62
 
55
63
  private async runCommand() {
56
- if (this.isCreateImplCommand) {
57
- await this.createImpl()
58
- } else if (this.isCreatePackageCommand) {
59
- await this.createPackage()
64
+ switch (this.command) {
65
+ case this.createImplCommand:
66
+ await this.createImplModule()
67
+ break
68
+ case this.createPackageCommand:
69
+ await this.createPackage()
70
+ break
71
+ case this.createUiCommand:
72
+ await this.createUiModule()
73
+ break
60
74
  }
61
75
  }
62
76
 
63
- private get isCreateImplCommand() {
64
- return this.command === this.createImplCommand
65
- }
66
-
67
- private get isCreatePackageCommand() {
68
- return this.command === this.createPackageCommand
69
- }
70
-
71
- private async createImpl() {
77
+ private async createImplModule() {
72
78
  const { interfaceName, implName } = await this.promptForAutomodule()
73
79
 
74
80
  this.interfaceName = interfaceName
@@ -174,6 +180,34 @@ export default class CliCommandRunner implements CommandRunner {
174
180
  return this.packageName && this.description
175
181
  }
176
182
 
183
+ private async createUiModule() {
184
+ const { componentName } = await this.promptForUimodule()
185
+
186
+ this.componentName = componentName
187
+
188
+ if (!this.componentName) {
189
+ return
190
+ }
191
+
192
+ await this.makeRequiredDirectories()
193
+
194
+ const instance = this.UiAutomodule()
195
+ await instance.run()
196
+ }
197
+
198
+ private async promptForUimodule() {
199
+ return await this.prompts([
200
+ {
201
+ type: 'text',
202
+ name: 'componentName',
203
+ message: this.componentNameMessage,
204
+ },
205
+ ])
206
+ }
207
+
208
+ private readonly componentNameMessage =
209
+ 'What should the component be called? Example: YourComponent'
210
+
177
211
  private expandHomeDir(inputPath: string): string {
178
212
  return inputPath.startsWith('~')
179
213
  ? path.join(os.homedir(), inputPath.slice(1))
@@ -184,7 +218,7 @@ export default class CliCommandRunner implements CommandRunner {
184
218
  private readonly moduleSaveDir = 'src/modules'
185
219
 
186
220
  private get fakeSaveDir() {
187
- return `src/testDoubles/${this.interfaceName}`
221
+ return `src/testDoubles/${this.interfaceName ?? this.componentName}`
188
222
  }
189
223
 
190
224
  private get prompts() {
@@ -205,6 +239,15 @@ export default class CliCommandRunner implements CommandRunner {
205
239
  })
206
240
  }
207
241
 
242
+ private UiAutomodule() {
243
+ return UiAutomodule.Create({
244
+ testSaveDir: this.testSaveDir,
245
+ moduleSaveDir: this.moduleSaveDir,
246
+ fakeSaveDir: this.fakeSaveDir,
247
+ componentName: this.componentName,
248
+ })
249
+ }
250
+
208
251
  private NpmAutopackage() {
209
252
  return NpmAutopackage.Create({
210
253
  name: this.packageName,