@@ -29,6 +29,8 @@ import settings.JsDynamicSettings
29
29
import settings.JsExportsSettings.endComment
30
30
import settings.JsExportsSettings.startComment
31
31
import settings.JsPackagesSettings.mochaData
32
+ import settings.JsPackagesSettings.nycData
33
+ import settings.JsPackagesSettings.ternData
32
34
import settings.JsTestGenerationSettings.dummyClassName
33
35
import settings.PackageData
34
36
import utils.JsCmdExec
@@ -56,9 +58,9 @@ object JsDialogProcessor {
56
58
) {
57
59
override fun run (indicator : ProgressIndicator ) {
58
60
invokeLater {
59
- if ( ! mochaData.findPackageByNpm( model.project.basePath !! , model.pathToNPM)) {
60
- installMissingRequirement (model.project, model.pathToNPM, mochaData )
61
- }
61
+ checkAndInstallRequirement( model.project, model.pathToNPM, mochaData)
62
+ checkAndInstallRequirement (model.project, model.pathToNPM, nycData )
63
+ checkAndInstallRequirement(model.project, model.pathToNPM, ternData)
62
64
createDialog(model)?.let { dialogProcessor ->
63
65
if (! dialogProcessor.showAndGet()) return @invokeLater
64
66
// Since Tern.js accesses containing file, sync with file system required before test generation.
@@ -263,8 +265,21 @@ object JsDialogProcessor {
263
265
}
264
266
}
265
267
266
- // TODO(MINOR): Add indicator.text for each installation
267
- fun installMissingRequirement (project : Project , pathToNPM : String , requirement : PackageData ) {
268
+ fun checkAndInstallRequirement (
269
+ project : Project ,
270
+ pathToNPM : String ,
271
+ requirement : PackageData ,
272
+ ) {
273
+ if (! requirement.findPackageByNpm(project.basePath!! , pathToNPM)) {
274
+ installMissingRequirement(project, pathToNPM, requirement)
275
+ }
276
+ }
277
+
278
+ private fun installMissingRequirement (
279
+ project : Project ,
280
+ pathToNPM : String ,
281
+ requirement : PackageData ,
282
+ ) {
268
283
val message = """
269
284
Requirement is not installed:
270
285
${requirement.packageName}
0 commit comments