@sprucelabs/spruce-cli 14.28.5 → 14.29.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 (142) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +26 -13
  3. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  4. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +13 -9
  5. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  6. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.d.ts +1 -1
  7. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +24 -14
  8. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  9. package/build/__tests__/behavioral/TestingDataStores.test.js +15 -11
  10. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  11. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +3 -1
  12. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  13. package/build/__tests__/behavioral/events/CreatingAListener.test.d.ts +2 -0
  14. package/build/__tests__/behavioral/events/CreatingAListener.test.js +157 -81
  15. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  16. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +1 -1
  17. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  18. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.d.ts +7 -0
  19. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +171 -0
  20. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -0
  21. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.d.ts +1 -0
  22. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +53 -21
  23. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  24. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.d.ts +1 -1
  25. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js +10 -20
  26. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +1 -1
  27. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.d.ts +5 -0
  28. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js +137 -0
  29. package/build/__tests__/behavioral/skill/UpgradingWithListeners.test.js.map +1 -0
  30. package/build/__tests__/behavioral/{CreatingADataStore.test.d.ts → stores/CreatingADataStore.test.d.ts} +2 -1
  31. package/build/__tests__/behavioral/{CreatingADataStore.test.js → stores/CreatingADataStore.test.js} +87 -57
  32. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -0
  33. package/build/__tests__/behavioral/{KeepingDataStoresInSync.test.d.ts → stores/KeepingDataStoresInSync.test.d.ts} +5 -2
  34. package/build/__tests__/behavioral/{KeepingDataStoresInSync.test.js → stores/KeepingDataStoresInSync.test.js} +138 -49
  35. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -0
  36. package/build/__tests__/behavioral/tests/CreatingATest.test.js +14 -10
  37. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  38. package/build/__tests__/behavioral/views/TestingViewControllers.test.d.ts +1 -0
  39. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +67 -35
  40. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  41. package/build/__tests__/implementation/AuthService.test.d.ts +1 -0
  42. package/build/__tests__/implementation/AuthService.test.js +8 -0
  43. package/build/__tests__/implementation/AuthService.test.js.map +1 -1
  44. package/build/__tests__/implementation/EventStore.test.js +3 -1
  45. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  46. package/build/__tests__/implementation/StoreFeature.test.d.ts +4 -0
  47. package/build/__tests__/implementation/StoreFeature.test.js +132 -0
  48. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -0
  49. package/build/cli.d.ts +1 -1
  50. package/build/cli.js +1 -1
  51. package/build/cli.js.map +1 -1
  52. package/build/features/event/EventFeature.d.ts +2 -2
  53. package/build/features/event/EventFeature.js +53 -13
  54. package/build/features/event/EventFeature.js.map +1 -1
  55. package/build/features/event/actions/ListenAction.d.ts +1 -0
  56. package/build/features/event/actions/ListenAction.js +60 -31
  57. package/build/features/event/actions/ListenAction.js.map +1 -1
  58. package/build/features/event/actions/SyncListenersAction.d.ts +15 -0
  59. package/build/features/event/actions/SyncListenersAction.js +115 -0
  60. package/build/features/event/actions/SyncListenersAction.js.map +1 -0
  61. package/build/features/event/builders/ListenerTemplateItemBuilder.d.ts +8 -0
  62. package/build/features/event/builders/ListenerTemplateItemBuilder.js +65 -0
  63. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -0
  64. package/build/features/event/stores/EventStore.js +2 -2
  65. package/build/features/event/stores/EventStore.js.map +1 -1
  66. package/build/features/event/stores/ListenerStore.d.ts +9 -0
  67. package/build/features/event/stores/ListenerStore.js +122 -0
  68. package/build/features/event/stores/ListenerStore.js.map +1 -0
  69. package/build/features/event/writers/EventWriter.d.ts +4 -1
  70. package/build/features/event/writers/EventWriter.js +42 -8
  71. package/build/features/event/writers/EventWriter.js.map +1 -1
  72. package/build/features/node/NodeFeature.js +6 -11
  73. package/build/features/node/NodeFeature.js.map +1 -1
  74. package/build/features/skill/SkillFeature.js +1 -1
  75. package/build/features/skill/SkillFeature.js.map +1 -1
  76. package/build/features/skill/stores/SkillStore.js +4 -8
  77. package/build/features/skill/stores/SkillStore.js.map +1 -1
  78. package/build/features/store/StoreFeature.d.ts +1 -1
  79. package/build/features/store/StoreFeature.js +6 -6
  80. package/build/features/store/StoreFeature.js.map +1 -1
  81. package/build/features/store/actions/SyncAction.js +11 -10
  82. package/build/features/store/actions/SyncAction.js.map +1 -1
  83. package/build/features/store/writers/StoreWriter.d.ts +6 -0
  84. package/build/features/store/writers/StoreWriter.js +78 -8
  85. package/build/features/store/writers/StoreWriter.js.map +1 -1
  86. package/build/services/AuthService.d.ts +4 -1
  87. package/build/services/AuthService.js +15 -4
  88. package/build/services/AuthService.js.map +1 -1
  89. package/build/services/LintService.d.ts +4 -1
  90. package/build/services/LintService.js +123 -94
  91. package/build/services/LintService.js.map +1 -1
  92. package/build/services/ServiceFactory.js +3 -3
  93. package/build/services/ServiceFactory.js.map +1 -1
  94. package/build/stores/StoreFactory.d.ts +2 -0
  95. package/build/stores/StoreFactory.js +4 -1
  96. package/build/stores/StoreFactory.js.map +1 -1
  97. package/build/tests/AbstractCliTest.js +3 -3
  98. package/build/tests/AbstractCliTest.js.map +1 -1
  99. package/build/writers/AbstractWriter.d.ts +0 -3
  100. package/build/writers/AbstractWriter.js +2 -18
  101. package/build/writers/AbstractWriter.js.map +1 -1
  102. package/package.json +30 -28
  103. package/src/__tests__/behavioral/BootingWithBadFiles.test.ts +8 -3
  104. package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +2 -0
  105. package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +10 -5
  106. package/src/__tests__/behavioral/TestingDataStores.test.ts +2 -0
  107. package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -0
  108. package/src/__tests__/behavioral/events/CreatingAListener.test.ts +28 -9
  109. package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
  110. package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +47 -0
  111. package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +6 -0
  112. package/src/__tests__/behavioral/skill/UpgradingASkill2.test.ts +1 -10
  113. package/src/__tests__/behavioral/skill/UpgradingWithListeners.test.ts +59 -0
  114. package/src/__tests__/behavioral/{CreatingADataStore.test.ts → stores/CreatingADataStore.test.ts} +13 -6
  115. package/src/__tests__/behavioral/{KeepingDataStoresInSync.test.ts → stores/KeepingDataStoresInSync.test.ts} +37 -8
  116. package/src/__tests__/behavioral/tests/CreatingATest.test.ts +2 -0
  117. package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +6 -0
  118. package/src/__tests__/implementation/AuthService.test.ts +6 -0
  119. package/src/__tests__/implementation/EventStore.test.ts +1 -0
  120. package/src/__tests__/implementation/StoreFeature.test.ts +40 -0
  121. package/src/cli.ts +2 -2
  122. package/src/features/event/EventFeature.ts +21 -4
  123. package/src/features/event/actions/ListenAction.ts +9 -3
  124. package/src/features/event/actions/SyncListenersAction.ts +38 -0
  125. package/src/features/event/builders/ListenerTemplateItemBuilder.ts +27 -0
  126. package/src/features/event/stores/EventStore.ts +1 -1
  127. package/src/features/event/stores/ListenerStore.ts +32 -0
  128. package/src/features/event/writers/EventWriter.ts +19 -0
  129. package/src/features/node/NodeFeature.ts +0 -3
  130. package/src/features/skill/SkillFeature.ts +1 -1
  131. package/src/features/skill/stores/SkillStore.ts +4 -3
  132. package/src/features/store/StoreFeature.ts +3 -3
  133. package/src/features/store/actions/SyncAction.ts +2 -1
  134. package/src/features/store/writers/StoreWriter.ts +30 -0
  135. package/src/services/AuthService.ts +15 -5
  136. package/src/services/LintService.ts +19 -2
  137. package/src/services/ServiceFactory.ts +9 -3
  138. package/src/stores/StoreFactory.ts +3 -0
  139. package/src/tests/AbstractCliTest.ts +2 -2
  140. package/src/writers/AbstractWriter.ts +2 -13
  141. package/build/__tests__/behavioral/CreatingADataStore.test.js.map +0 -1
  142. package/build/__tests__/behavioral/KeepingDataStoresInSync.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/__tests__/behavioral/skill/UpgradingASkill2.test.ts"],"names":["UpgradingASkill2Test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","setMockResponse","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","wasFixLintCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;IACqBA,oB,WAenB,iB,UAYA,iB,UAqBA,iB,UAeA,iB,UAcA,iB,UAyCA,iB,UAgBA,gBAAK,4BAAL,C,UACA,gBAAK,gCAAL,EAAuC,KAAvC,C,UAoBA,iB,WAsBA,iB;;;;;;;;;;;;;sGA/KD;AAAA;AAAA;AAAA;AAAA;AACC,oBAAI,CAAC,KAAKC,wBAAV,EAAoC;AACnC,uBAAKA,wBAAL,GAAgCC,uBAAWC,SAAX,CAAqBC,OAArD;AACA,iBAFD,MAEO;AACNF,yCAAWC,SAAX,CAAqBC,OAArB,GAA+B,KAAKH,wBAApC;AACA;;AALF;AAAA;;AAAA;AAQCI,2CAAeC,eAAf,CAA+B,IAAIC,MAAJ,CAAW,gBAAX,CAA/B,EAA8D;AAC7DC,kBAAAA,IAAI,EAAE;AADuD,iBAA9D;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kJAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECH,2CAAeI,kBAAf;;AAFD;AAAA,uBAGO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,OAA5C,CAHP;;AAAA;AAAA;AAAA,uBAKO,KAAKC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CALP;;AAAA;AAOOS,gBAAAA,YAPP,GAOsB,KAAKC,OAAL,CAAa,KAAb,EAAoBC,GAApB,CAAwB,cAAxB,CAPtB;;AASCC,6BAAOC,OAAP,CAAeJ,YAAY,CAAC,kCAAD,CAA3B;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAECR,2CAAeI,kBAAf;;AAFD;AAAA,uBAGO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4C,SAA5C,CAHP;;AAAA;AAAA;AAAA,uBAKuB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CALvB;;AAAA;AAKOc,gBAAAA,OALP;AAOOL,gBAAAA,YAPP,GAOsB,KAAKC,OAAL,CAAa,KAAb,EAAoBC,GAApB,CAAwB,cAAxB,CAPtB;;AASCC,6BAAOC,OAAP,CAAeJ,YAAY,CAAC,kCAAD,CAA3B;;AAEAG,6BAAOG,SAAP,CAAiB;AAAA,yBAChBC,kBAASC,gCAAT,CACC,oBADD,EAECH,OAAO,CAACI,KAFT,CADgB;AAAA,iBAAjB;;AAOA,qBAAKC,0BAAL;;AAlBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;qHAqBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKb,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA;AAAA,uBAIuB,KAAKC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAJvB;;AAAA;AAIOc,gBAAAA,OAJP;AAKOM,gBAAAA,MALP,GAKgBC,gCAAcC,iCAAd,CAAgD,KAAKC,GAArD,CALhB;;AAOCX,6BAAOY,MAAP,CAAcC,2BAASC,aAAT,CAAuBN,MAAvB,CAAd;;AAEAJ,kCAASC,gCAAT,CACC,oBADD,EAECH,OAAO,CAACI,KAFT;;AATD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;0HAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKZ,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAICoB,qDAAyB5B,SAAzB,CAAmCC,OAAnC,GAA6C,YAAM;AAClD,wBAAM,IAAI4B,KAAJ,CAAU,SAAV,CAAN;AACA,iBAFD;;AAJD;AAAA,uBAQuB,KAAKpB,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CARvB;;AAAA;AAQOc,gBAAAA,OARP;;AAUCF,6BAAOiB,QAAP,CAAgBf,OAAO,CAACgB,MAAxB;;AACAlB,6BAAOmB,WAAP,CAAmBjB,OAAO,CAACgB,MAAR,CAAe,CAAf,EAAkBE,OAArC,EAA8C,SAA9C;;AAXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wHAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAK1B,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAIK0B,gBAAAA,mBAJL,GAI2B,KAJ3B;AAKCN,qDAAyB5B,SAAzB,CAAmCC,OAAnC,8FAA6C;AAAA;AAAA;AAAA;AAAA;AAAA,4DACrC,EADqC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA7C;AAIIkC,gBAAAA,gBATL,GASwB,KATxB;;AAUCjC,2CAAeC,eAAf,CAA+B,kBAA/B,EAAmD;AAClDE,kBAAAA,IAAI,EAAE,CAD4C;AAElD+B,kBAAAA,QAAQ,EAAE,oBAAM;AACfF,oBAAAA,mBAAmB,GAAG,IAAtB;AACA;AAJiD,iBAAnD;;AAOAhC,2CAAeC,eAAf,CAA+B,eAA/B,EAAgD;AAC/CE,kBAAAA,IAAI,EAAE,CADyC;AAE/C+B,kBAAAA,QAAQ,EAAE,oBAAM;AACfD,oBAAAA,gBAAgB,GAAG,IAAnB;AACA;AAJ8C,iBAAhD;;AAOIE,gBAAAA,iBAxBL,GAwByB,KAxBzB;;AA0BCnC,2CAAeC,eAAf,CAA+B,gBAA/B,EAAiD;AAChDE,kBAAAA,IAAI,EAAE,CAD0C;AAEhD+B,kBAAAA,QAAQ,EAAE,oBAAM;AACfC,oBAAAA,iBAAiB,GAAG,IAApB;AACA;AAJ+C,iBAAjD;;AA1BD;AAAA,uBAiCuB,KAAK5B,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAjCvB;;AAAA;AAiCOc,gBAAAA,OAjCP;;AAmCCF,6BAAOC,OAAP,CAAeC,OAAO,CAACgB,MAAvB;;AACAlB,6BAAOY,MAAP,CAAcS,mBAAd;;AACArB,6BAAOY,MAAP,CAAcY,iBAAd;;AACAxB,6BAAOY,MAAP,CAAcU,gBAAd;;AAtCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4GAyCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAK5B,cAAL,GAAsBC,qBAAtB,CAA4C,OAA5C,CAFP;;AAAA;AAIO8B,gBAAAA,MAJP,GAIgB,KAAKC,kBAAL,EAJhB;;AAKC1B,6BAAOY,MAAP,CAAcC,2BAASC,aAAT,CAAuBW,MAAvB,CAAd;;AAEAZ,2CAASc,UAAT,CAAoBF,MAApB;;AAEAzB,6BAAO4B,OAAP,CAAef,2BAASC,aAAT,CAAuBW,MAAvB,CAAf;;AATD;AAAA,uBAWO,KAAK7B,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAXP;;AAAA;AAaCY,6BAAOY,MAAP,CAAcC,2BAASC,aAAT,CAAuBW,MAAvB,CAAd;;AAbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8GAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE0CI,gBAAAA,WAF1C,iEAEwD,IAFxD;AAAA;AAAA,uBAGO,KAAKnC,cAAL,GAAsBC,qBAAtB,CACLkC,WAAW,GAAG,QAAH,GAAc,SADpB,CAHP;;AAAA;AAOKC,gBAAAA,MAPL,GAOc,KAPd;AASC5C,uCAAWC,SAAX,CAAqBC,OAArB,8FAA+B;AAAA;AAAA;AAAA;AAAA;AAC9B0C,0BAAAA,MAAM,GAAG,IAAT;AAD8B,4DAEvB,EAFuB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA/B;AAKA,qBAAKC,2BAAL;AAdD;AAAA,uBAgBO,KAAKnC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC,EAAvC,CAhBP;;AAAA;AAkBCY,6BAAOgC,OAAP,CAAeF,MAAf,EAAuBD,WAAvB;;AAlBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAqBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKnC,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA,wCAIsC,KAAKsC,kBAAL,EAJtC,EAISR,MAJT,yBAISA,MAJT,EAIiBS,gBAJjB,yBAIiBA,gBAJjB;AAAA;AAAA,uBAMO,KAAKH,2BAAL,EANP;;AAAA;AAQOI,gBAAAA,OARP,GAQiB,KAAKvC,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC;AACtDgD,kBAAAA,WAAW,EAAE;AADyC,iBAAvC,CARjB;AAAA;AAAA,uBAYO,KAAKC,YAAL,EAZP;;AAAA;AAAA;AAAA,uBAaO,KAAKC,EAAL,CAAQC,SAAR,CAAkB,WAAlB,CAbP;;AAAA;AAAA;AAAA,uBAeOJ,OAfP;;AAAA;AAiBOK,gBAAAA,cAjBP,GAiBwB3B,2BAAS4B,QAAT,CAAkBhB,MAAlB,CAjBxB;;AAmBCzB,6BAAOgC,OAAP,CAAeQ,cAAf,EAA+BN,gBAA/B;;AAnBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;+HAsBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKxC,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA;AAAA,uBAIO,KAAKC,MAAL,CAAY,OAAZ,EAAqB,QAArB,EAA+BR,OAA/B,CAAuC;AAC5CsD,kBAAAA,YAAY,EAAE,WAD8B;AAE5CC,kBAAAA,SAAS,EAAE;AAFiC,iBAAvC,CAJP;;AAAA;AAAA,yCASsC,KAAKV,kBAAL,EATtC,EASSR,MATT,0BASSA,MATT,EASiBS,gBATjB,0BASiBA,gBATjB;AAWC,qBAAKU,oBAAL;AAXD;AAAA,uBAauB,KAAKhD,MAAL,CAAY,MAAZ,EAAoB,SAApB,EAA+BR,OAA/B,CAAuC;AAC5DgD,kBAAAA,WAAW,EAAE;AAD+C,iBAAvC,CAbvB;;AAAA;AAaOlC,gBAAAA,OAbP;;AAiBCF,6BAAOC,OAAP,CAAeC,OAAO,CAACgB,MAAvB;;AACMsB,gBAAAA,cAlBP,GAkBwB3B,2BAAS4B,QAAT,CAAkBhB,MAAlB,CAlBxB;;AAoBCzB,6BAAOgC,OAAP,CAAeQ,cAAf,EAA+BN,gBAA/B;;AApBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAuBA,8BAAoC;AACnC,UAAMT,MAAM,GAAG,KAAKoB,qBAAL,CAA2B,QAA3B,EAAqC,kBAArC,CAAf;;AACA,UAAMX,gBAAgB,GAAGrB,2BAAS4B,QAAT,CAAkBhB,MAAlB,CAAzB;;AAEAZ,iCAASiC,SAAT,CAAmBrB,MAAnB,EAA2B,MAA3B;;AACA,aAAO;AAAEA,QAAAA,MAAM,EAANA,MAAF;AAAUS,QAAAA,gBAAgB,EAAhBA;AAAV,OAAP;AACA;;;WAED,8BAAoC;AACnC,aAAO,KAAKW,qBAAL,CAA2B,UAA3B,EAAuC,gBAAvC,CAAP;AACA;;;WAED,sCAA8C;AAC7C7C,mBAAO4B,OAAP,CAAef,2BAASC,aAAT,CAAuB,KAAKY,kBAAL,EAAvB,CAAf;AACA;;;WAED,uCAA6C;AAC5C,WAAKkB,oBAAL;;AAEAvD,iCAAeC,eAAf,CAA+B,mBAA/B,EAAgD;AAC/CE,QAAAA,IAAI,EAAE;AADyC,OAAhD;AAGA;;;WAED,gCAAsC;AACrCH,iCAAeC,eAAf,CAA+B,kBAA/B,EAAmD;AAClDE,QAAAA,IAAI,EAAE;AAD4C,OAAnD;;AAIAH,iCAAeC,eAAf,CAA+B,gBAA/B,EAAiD;AAChDE,QAAAA,IAAI,EAAE;AAD0C,OAAjD;AAGA;;;EAxOgDuD,4B","sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill2Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.setMockResponse(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixLintAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tlet wasFixLintCalled = false\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tCommandService.setMockResponse('yarn fix.lint', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasFixLintCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t\tassert.isTrue(wasFixLintCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.setMockResponse(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"file":"UpgradingASkill2.test.js"}
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/skill/UpgradingASkill2.test.ts"],"names":["UpgradingASkill2Test","originalErrorSyncExecute","SyncAction","prototype","execute","CommandService","setMockResponse","RegExp","code","clearMockResponses","FeatureFixture","installCachedFeatures","Action","dependencies","Service","get","assert","isFalsy","results","doesThrow","testUtil","assertFileByNameInGeneratedFiles","files","assertViewPluginNotWritten","events","eventDiskUtil","resolveCombinedEventsContractFile","cwd","isTrue","diskUtil","doesFileExist","UpdateDependenciesAction","Error","isTruthy","errors","doesInclude","message","wasCleanBuildCalled","callback","wasBuildDevCalled","plugin","getViewsPluginPath","deleteFile","isFalse","isInstalled","wasHit","disableCleanBuildAndYarnAdd","isEqual","destroyErrorPlugin","expectedContents","promise","upgradeMode","waitForInput","ui","sendInput","actualContents","readFile","nameReadable","nameCamel","disableCleanAndBuild","resolveHashSprucePath","writeFile","AbstractCliTest"],"mappings":"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","sourcesContent":["import { eventDiskUtil } from '@sprucelabs/spruce-event-utils'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SyncAction from '../../../features/error/actions/SyncAction'\nimport UpdateDependenciesAction from '../../../features/node/actions/UpdateDependenciesAction'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\nimport testUtil from '../../../tests/utilities/test.utility'\nexport default class UpgradingASkill2Test extends AbstractCliTest {\n\tprivate static originalErrorSyncExecute: any\n\tprotected static async beforeEach() {\n\t\tif (!this.originalErrorSyncExecute) {\n\t\t\tthis.originalErrorSyncExecute = SyncAction.prototype.execute\n\t\t} else {\n\t\t\tSyncAction.prototype.execute = this.originalErrorSyncExecute\n\t\t}\n\n\t\tawait super.beforeEach()\n\t\tCommandService.setMockResponse(new RegExp(/yarn rebuild/gis), {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async doesNotAddResolvePathAliasesToDependenciesAfterUpgrade() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\t}\n\n\t@test()\n\tprotected static async featuresNotEnabledDontInstall() {\n\t\tCommandService.clearMockResponses()\n\t\tawait this.FeatureFixture().installCachedFeatures('schemas')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tconst dependencies = this.Service('pkg').get('dependencies')\n\n\t\tassert.isFalsy(dependencies['@sprucelabs/resolve-path-aliases'])\n\n\t\tassert.doesThrow(() =>\n\t\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t\t'events.contract.ts',\n\t\t\t\tresults.files\n\t\t\t)\n\t\t)\n\n\t\tthis.assertViewPluginNotWritten()\n\t}\n\n\t@test()\n\tprotected static async upgradingSkillSyncsEvents() {\n\t\tawait this.FeatureFixture().installCachedFeatures('events')\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\t\tconst events = eventDiskUtil.resolveCombinedEventsContractFile(this.cwd)\n\n\t\tassert.isTrue(diskUtil.doesFileExist(events))\n\n\t\ttestUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'events.contract.ts',\n\t\t\tresults.files\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeCallsUpdateDependencies() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tUpdateDependenciesAction.prototype.execute = () => {\n\t\t\tthrow new Error('baaaaad')\n\t\t}\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.doesInclude(results.errors[0].message, 'baaaaad')\n\t}\n\n\t@test()\n\tprotected static async callsCleanFixAndBuildDev() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tlet wasCleanBuildCalled = false\n\t\tUpdateDependenciesAction.prototype.execute = async () => {\n\t\t\treturn {}\n\t\t}\n\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasCleanBuildCalled = true\n\t\t\t},\n\t\t})\n\n\t\tlet wasBuildDevCalled = false\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t\tcallback: () => {\n\t\t\t\twasBuildDevCalled = true\n\t\t\t},\n\t\t})\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isFalsy(results.errors)\n\t\tassert.isTrue(wasCleanBuildCalled)\n\t\tassert.isTrue(wasBuildDevCalled)\n\t}\n\n\t@test()\n\tprotected static async writesViewPlugin() {\n\t\tawait this.FeatureFixture().installCachedFeatures('views')\n\n\t\tconst plugin = this.getViewsPluginPath()\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\n\t\tdiskUtil.deleteFile(plugin)\n\n\t\tassert.isFalse(diskUtil.doesFileExist(plugin))\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isTrue(diskUtil.doesFileExist(plugin))\n\t}\n\n\t@test('sync with errors installed')\n\t@test('sync with errors not installed', false)\n\tprotected static async upgradeSyncsErrors(isInstalled = true) {\n\t\tawait this.FeatureFixture().installCachedFeatures(\n\t\t\tisInstalled ? 'errors' : 'schemas'\n\t\t)\n\n\t\tlet wasHit = false\n\n\t\tSyncAction.prototype.execute = async () => {\n\t\t\twasHit = true\n\t\t\treturn {}\n\t\t}\n\n\t\tthis.disableCleanBuildAndYarnAdd()\n\n\t\tawait this.Action('node', 'upgrade').execute({})\n\n\t\tassert.isEqual(wasHit, isInstalled)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginInSkill() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tawait this.disableCleanBuildAndYarnAdd()\n\n\t\tconst promise = this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('overwrite')\n\n\t\tawait promise\n\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\t@test()\n\tprotected static async resetsErrorPluginWhenErrorInstalled() {\n\t\tawait this.FeatureFixture().installCachedFeatures('errors')\n\n\t\tawait this.Action('error', 'create').execute({\n\t\t\tnameReadable: 'Test pass',\n\t\t\tnameCamel: 'testPass',\n\t\t})\n\n\t\tconst { plugin, expectedContents } = this.destroyErrorPlugin()\n\n\t\tthis.disableCleanAndBuild()\n\n\t\tconst results = await this.Action('node', 'upgrade').execute({\n\t\t\tupgradeMode: 'askForChanged',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\t\tconst actualContents = diskUtil.readFile(plugin)\n\n\t\tassert.isEqual(actualContents, expectedContents)\n\t}\n\n\tprivate static destroyErrorPlugin() {\n\t\tconst plugin = this.resolveHashSprucePath('errors', 'options.types.ts')\n\t\tconst expectedContents = diskUtil.readFile(plugin)\n\n\t\tdiskUtil.writeFile(plugin, 'waka')\n\t\treturn { plugin, expectedContents }\n\t}\n\n\tprivate static getViewsPluginPath() {\n\t\treturn this.resolveHashSprucePath('features', 'view.plugin.ts')\n\t}\n\n\tprotected static assertViewPluginNotWritten() {\n\t\tassert.isFalse(diskUtil.doesFileExist(this.getViewsPluginPath()))\n\t}\n\n\tprivate static disableCleanBuildAndYarnAdd() {\n\t\tthis.disableCleanAndBuild()\n\n\t\tCommandService.setMockResponse(/yarn.*?add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\t}\n\n\tprivate static disableCleanAndBuild() {\n\t\tCommandService.setMockResponse('yarn clean.build', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse('yarn build.dev', {\n\t\t\tcode: 0,\n\t\t})\n\t}\n}\n"],"file":"UpgradingASkill2.test.js"}
@@ -0,0 +1,5 @@
1
+ import { FeatureCode } from '../../../features/features.types';
2
+ import AbstractCliTest from '../../../tests/AbstractCliTest';
3
+ export default class UpgradingWithListeners extends AbstractCliTest {
4
+ protected static upgradingSyncsListeners(featureCode: FeatureCode, shouldHit: boolean, actionCode?: string): Promise<void>;
5
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
25
+
26
+ var _spruceEventUtils = require("@sprucelabs/spruce-event-utils");
27
+
28
+ var _test = require("@sprucelabs/test");
29
+
30
+ var _SpruceError = _interopRequireDefault(require("../../../errors/SpruceError"));
31
+
32
+ var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
33
+
34
+ var _AbstractCliTest2 = _interopRequireDefault(require("../../../tests/AbstractCliTest"));
35
+
36
+ var _dec, _dec2, _dec3, _dec4, _class;
37
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ var UpgradingWithListeners = (_dec = (0, _test.test)('should sync listeners when installed', 'events', true), _dec2 = (0, _test.test)('should not sync listeners when not installed', 'skills', false), _dec3 = (0, _test.test)('should not sync listeners when creating node when not installed', 'testsInNodeModule', false, 'create'), _dec4 = (0, _test.test)('should not sync listeners when creating node when installed', 'events', false, 'create'), (_class = /*#__PURE__*/function (_AbstractCliTest) {
43
+ (0, _inherits2["default"])(UpgradingWithListeners, _AbstractCliTest);
44
+
45
+ var _super = _createSuper(UpgradingWithListeners);
46
+
47
+ function UpgradingWithListeners() {
48
+ (0, _classCallCheck2["default"])(this, UpgradingWithListeners);
49
+ return _super.apply(this, arguments);
50
+ }
51
+
52
+ (0, _createClass2["default"])(UpgradingWithListeners, null, [{
53
+ key: "upgradingSyncsListeners",
54
+ value: function () {
55
+ var _upgradingSyncsListeners = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(featureCode, shouldHit) {
56
+ var actionCode,
57
+ wasHit,
58
+ results,
59
+ _eventResponseUtil$ge,
60
+ errors,
61
+ _args2 = arguments;
62
+
63
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
64
+ while (1) {
65
+ switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ actionCode = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 'upgrade';
68
+ _context2.next = 3;
69
+ return this.FeatureFixture().installCachedFeatures(featureCode);
70
+
71
+ case 3:
72
+ _CommandService["default"].setMockResponse(new RegExp(/yarn/), {
73
+ code: 0
74
+ });
75
+
76
+ wasHit = false;
77
+ _context2.next = 7;
78
+ return this.getEmitter().on('feature.will-execute', /*#__PURE__*/function () {
79
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
80
+ var featureCode, actionCode;
81
+ return _regenerator["default"].wrap(function _callee$(_context) {
82
+ while (1) {
83
+ switch (_context.prev = _context.next) {
84
+ case 0:
85
+ featureCode = _ref.featureCode, actionCode = _ref.actionCode;
86
+
87
+ if (featureCode === 'event' && actionCode === 'sync.listeners') {
88
+ wasHit = true;
89
+ }
90
+
91
+ case 2:
92
+ case "end":
93
+ return _context.stop();
94
+ }
95
+ }
96
+ }, _callee);
97
+ }));
98
+
99
+ return function (_x3) {
100
+ return _ref2.apply(this, arguments);
101
+ };
102
+ }());
103
+
104
+ case 7:
105
+ _context2.next = 9;
106
+ return this.getEmitter().emit('feature.will-execute', {
107
+ featureCode: 'node',
108
+ actionCode: actionCode
109
+ });
110
+
111
+ case 9:
112
+ results = _context2.sent;
113
+ _eventResponseUtil$ge = _spruceEventUtils.eventResponseUtil.getAllResponsePayloadsAndErrors(results, _SpruceError["default"]), errors = _eventResponseUtil$ge.errors;
114
+
115
+ _test.assert.isFalsy(errors);
116
+
117
+ _test.assert.isEqual(wasHit, shouldHit);
118
+
119
+ case 13:
120
+ case "end":
121
+ return _context2.stop();
122
+ }
123
+ }
124
+ }, _callee2, this);
125
+ }));
126
+
127
+ function upgradingSyncsListeners(_x, _x2) {
128
+ return _upgradingSyncsListeners.apply(this, arguments);
129
+ }
130
+
131
+ return upgradingSyncsListeners;
132
+ }()
133
+ }]);
134
+ return UpgradingWithListeners;
135
+ }(_AbstractCliTest2["default"]), ((0, _applyDecoratedDescriptor2["default"])(_class, "upgradingSyncsListeners", [_dec, _dec2, _dec3, _dec4], Object.getOwnPropertyDescriptor(_class, "upgradingSyncsListeners"), _class)), _class));
136
+ exports["default"] = UpgradingWithListeners;
137
+ //# sourceMappingURL=UpgradingWithListeners.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/skill/UpgradingWithListeners.test.ts"],"names":["UpgradingWithListeners","featureCode","shouldHit","actionCode","FeatureFixture","installCachedFeatures","CommandService","setMockResponse","RegExp","code","wasHit","getEmitter","on","emit","results","eventResponseUtil","getAllResponsePayloadsAndErrors","SpruceError","errors","assert","isFalsy","isEqual","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;IAEqBA,sB,WACnB,gBAAK,sCAAL,EAA6C,QAA7C,EAAuD,IAAvD,C,UACA,gBAAK,8CAAL,EAAqD,QAArD,EAA+D,KAA/D,C,UACA,gBACA,iEADA,EAEA,mBAFA,EAGA,KAHA,EAIA,QAJA,C,UAMA,gBACA,6DADA,EAEA,QAFA,EAGA,KAHA,EAIA,QAJA,C;;;;;;;;;;;;;mHARD,kBAeCC,WAfD,EAgBCC,SAhBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAiBCC,gBAAAA,UAjBD,8DAiBc,SAjBd;AAAA;AAAA,uBAmBO,KAAKC,cAAL,GAAsBC,qBAAtB,CAA4CJ,WAA5C,CAnBP;;AAAA;AAqBCK,2CAAeC,eAAf,CAA+B,IAAIC,MAAJ,CAAW,MAAX,CAA/B,EAAmD;AAClDC,kBAAAA,IAAI,EAAE;AAD4C,iBAAnD;;AAIIC,gBAAAA,MAzBL,GAyBc,KAzBd;AAAA;AAAA,uBA2BO,KAAKC,UAAL,GAAkBC,EAAlB,CACL,sBADK;AAAA,4GAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAASX,4BAAAA,WAAT,QAASA,WAAT,EAAsBE,UAAtB,QAAsBA,UAAtB;;AACC,gCAAIF,WAAW,KAAK,OAAhB,IAA2BE,UAAU,KAAK,gBAA9C,EAAgE;AAC/DO,8BAAAA,MAAM,GAAG,IAAT;AACA;;AAHF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAFK;;AAAA;AAAA;AAAA;AAAA,oBA3BP;;AAAA;AAAA;AAAA,uBAoCuB,KAAKC,UAAL,GAAkBE,IAAlB,CAAuB,sBAAvB,EAA+C;AACpEZ,kBAAAA,WAAW,EAAE,MADuD;AAEpEE,kBAAAA,UAAU,EAAVA;AAFoE,iBAA/C,CApCvB;;AAAA;AAoCOW,gBAAAA,OApCP;AAAA,wCAyCoBC,oCAAkBC,+BAAlB,CAClBF,OADkB,EAElBG,uBAFkB,CAzCpB,EAyCSC,MAzCT,yBAyCSA,MAzCT;;AA8CCC,6BAAOC,OAAP,CAAeF,MAAf;;AAEAC,6BAAOE,OAAP,CAAeX,MAAf,EAAuBR,SAAvB;;AAhDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EADmDoB,4B","sourcesContent":["import { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport SpruceError from '../../../errors/SpruceError'\nimport { FeatureCode } from '../../../features/features.types'\nimport CommandService from '../../../services/CommandService'\nimport AbstractCliTest from '../../../tests/AbstractCliTest'\n\nexport default class UpgradingWithListeners extends AbstractCliTest {\n\t@test('should sync listeners when installed', 'events', true)\n\t@test('should not sync listeners when not installed', 'skills', false)\n\t@test(\n\t\t'should not sync listeners when creating node when not installed',\n\t\t'testsInNodeModule',\n\t\tfalse,\n\t\t'create'\n\t)\n\t@test(\n\t\t'should not sync listeners when creating node when installed',\n\t\t'events',\n\t\tfalse,\n\t\t'create'\n\t)\n\tprotected static async upgradingSyncsListeners(\n\t\tfeatureCode: FeatureCode,\n\t\tshouldHit: boolean,\n\t\tactionCode = 'upgrade'\n\t) {\n\t\tawait this.FeatureFixture().installCachedFeatures(featureCode)\n\n\t\tCommandService.setMockResponse(new RegExp(/yarn/), {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tlet wasHit = false\n\n\t\tawait this.getEmitter().on(\n\t\t\t'feature.will-execute',\n\t\t\tasync ({ featureCode, actionCode }) => {\n\t\t\t\tif (featureCode === 'event' && actionCode === 'sync.listeners') {\n\t\t\t\t\twasHit = true\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\n\t\tconst results = await this.getEmitter().emit('feature.will-execute', {\n\t\t\tfeatureCode: 'node',\n\t\t\tactionCode,\n\t\t})\n\n\t\tconst { errors } = eventResponseUtil.getAllResponsePayloadsAndErrors(\n\t\t\tresults,\n\t\t\tSpruceError\n\t\t)\n\n\t\tassert.isFalsy(errors)\n\n\t\tassert.isEqual(wasHit, shouldHit)\n\t}\n}\n"],"file":"UpgradingWithListeners.test.js"}
@@ -1,10 +1,11 @@
1
1
  import '@sprucelabs/spruce-store-plugin';
2
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
2
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
3
3
  export default class CreatingDataStoresTest extends AbstractSkillTest {
4
4
  protected static skillCacheKey: string;
5
5
  protected static hasCreateStoreAction(): Promise<void>;
6
6
  protected static getsNoStoresBackFromHealthCheck(): Promise<void>;
7
7
  protected static generatesValidStoreFile(): Promise<void>;
8
+ protected static generatesAMapFile(): Promise<void>;
8
9
  protected static getsOneStoresBackFromHealthCheck(): Promise<void>;
9
10
  protected static canGenerateASecondStoreFile(): Promise<void>;
10
11
  protected static getsSecondStoresBackFromHealthCheck(): Promise<void>;
@@ -33,19 +33,19 @@ var _testUtils = require("@sprucelabs/test-utils");
33
33
 
34
34
  require("@sprucelabs/spruce-store-plugin");
35
35
 
36
- var _CommandService = _interopRequireDefault(require("../../services/CommandService"));
36
+ var _CommandService = _interopRequireDefault(require("../../../services/CommandService"));
37
37
 
38
- var _AbstractSkillTest2 = _interopRequireDefault(require("../../tests/AbstractSkillTest"));
38
+ var _AbstractSkillTest2 = _interopRequireDefault(require("../../../tests/AbstractSkillTest"));
39
39
 
40
- var _test2 = _interopRequireDefault(require("../../tests/utilities/test.utility"));
40
+ var _test2 = _interopRequireDefault(require("../../../tests/utilities/test.utility"));
41
41
 
42
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2, _temp;
42
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _class, _class2, _temp;
43
43
 
44
44
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
45
 
46
46
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
47
 
48
- var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
48
+ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(), _dec3 = (0, _test.test)(), _dec4 = (0, _test.test)(), _dec5 = (0, _test.test)(), _dec6 = (0, _test.test)(), _dec7 = (0, _test.test)(), _dec8 = (0, _test.test)(), _dec9 = (0, _test.test)(), _dec10 = (0, _test.test)(), _dec11 = (0, _test.test)(), (_class = (_temp = _class2 = /*#__PURE__*/function (_AbstractSkillTest) {
49
49
  (0, _inherits2["default"])(CreatingDataStoresTest, _AbstractSkillTest);
50
50
 
51
51
  var _super = _createSuper(CreatingDataStoresTest);
@@ -90,7 +90,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
90
90
  case 0:
91
91
  _context2.next = 2;
92
92
  return this.cli.checkHealth({
93
- isRunningLocally: true
93
+ shouldRunOnSourceFiles: true
94
94
  });
95
95
 
96
96
  case 2:
@@ -160,21 +160,51 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
160
160
  return generatesValidStoreFile;
161
161
  }()
162
162
  }, {
163
- key: "getsOneStoresBackFromHealthCheck",
163
+ key: "generatesAMapFile",
164
164
  value: function () {
165
- var _getsOneStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
166
- var health;
165
+ var _generatesAMapFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
166
+ var file;
167
167
  return _regenerator["default"].wrap(function _callee4$(_context4) {
168
168
  while (1) {
169
169
  switch (_context4.prev = _context4.next) {
170
170
  case 0:
171
- _context4.next = 2;
171
+ file = this.resolveHashSprucePath('stores', 'stores.ts');
172
+
173
+ _test.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(file));
174
+
175
+ _context4.next = 4;
176
+ return this.Service('typeChecker').check(file);
177
+
178
+ case 4:
179
+ case "end":
180
+ return _context4.stop();
181
+ }
182
+ }
183
+ }, _callee4, this);
184
+ }));
185
+
186
+ function generatesAMapFile() {
187
+ return _generatesAMapFile.apply(this, arguments);
188
+ }
189
+
190
+ return generatesAMapFile;
191
+ }()
192
+ }, {
193
+ key: "getsOneStoresBackFromHealthCheck",
194
+ value: function () {
195
+ var _getsOneStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
196
+ var health;
197
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
198
+ while (1) {
199
+ switch (_context5.prev = _context5.next) {
200
+ case 0:
201
+ _context5.next = 2;
172
202
  return this.cli.checkHealth({
173
- isRunningLocally: true
203
+ shouldRunOnSourceFiles: true
174
204
  });
175
205
 
176
206
  case 2:
177
- health = _context4.sent;
207
+ health = _context5.sent;
178
208
 
179
209
  _test.assert.isTruthy(health.store);
180
210
 
@@ -186,10 +216,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
186
216
 
187
217
  case 7:
188
218
  case "end":
189
- return _context4.stop();
219
+ return _context5.stop();
190
220
  }
191
221
  }
192
- }, _callee4, this);
222
+ }, _callee5, this);
193
223
  }));
194
224
 
195
225
  function getsOneStoresBackFromHealthCheck() {
@@ -201,13 +231,13 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
201
231
  }, {
202
232
  key: "canGenerateASecondStoreFile",
203
233
  value: function () {
204
- var _canGenerateASecondStoreFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
234
+ var _canGenerateASecondStoreFile = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
205
235
  var results, path;
206
- return _regenerator["default"].wrap(function _callee5$(_context5) {
236
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
207
237
  while (1) {
208
- switch (_context5.prev = _context5.next) {
238
+ switch (_context6.prev = _context6.next) {
209
239
  case 0:
210
- _context5.next = 2;
240
+ _context6.next = 2;
211
241
  return this.Action('store', 'create').execute({
212
242
  nameReadable: 'Bid',
213
243
  nameReadablePlural: 'Bids',
@@ -215,20 +245,20 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
215
245
  });
216
246
 
217
247
  case 2:
218
- results = _context5.sent;
248
+ results = _context6.sent;
219
249
 
220
250
  _test.assert.isFalsy(results.errors);
221
251
 
222
252
  path = _test2["default"].assertFileByNameInGeneratedFiles('Bids.store.ts', results.files);
223
- _context5.next = 7;
253
+ _context6.next = 7;
224
254
  return this.Service('typeChecker').check(path);
225
255
 
226
256
  case 7:
227
257
  case "end":
228
- return _context5.stop();
258
+ return _context6.stop();
229
259
  }
230
260
  }
231
- }, _callee5, this);
261
+ }, _callee6, this);
232
262
  }));
233
263
 
234
264
  function canGenerateASecondStoreFile() {
@@ -240,19 +270,19 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
240
270
  }, {
241
271
  key: "getsSecondStoresBackFromHealthCheck",
242
272
  value: function () {
243
- var _getsSecondStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
273
+ var _getsSecondStoresBackFromHealthCheck = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
244
274
  var health;
245
- return _regenerator["default"].wrap(function _callee6$(_context6) {
275
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
246
276
  while (1) {
247
- switch (_context6.prev = _context6.next) {
277
+ switch (_context7.prev = _context7.next) {
248
278
  case 0:
249
- _context6.next = 2;
279
+ _context7.next = 2;
250
280
  return this.cli.checkHealth({
251
- isRunningLocally: true
281
+ shouldRunOnSourceFiles: true
252
282
  });
253
283
 
254
284
  case 2:
255
- health = _context6.sent;
285
+ health = _context7.sent;
256
286
 
257
287
  _test.assert.isTruthy(health.store);
258
288
 
@@ -266,10 +296,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
266
296
 
267
297
  case 8:
268
298
  case "end":
269
- return _context6.stop();
299
+ return _context7.stop();
270
300
  }
271
301
  }
272
- }, _callee6, this);
302
+ }, _callee7, this);
273
303
  }));
274
304
 
275
305
  function getsSecondStoresBackFromHealthCheck() {
@@ -281,13 +311,13 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
281
311
  }, {
282
312
  key: "errorsWhenGeneratingAStoreWithTheSameName",
283
313
  value: function () {
284
- var _errorsWhenGeneratingAStoreWithTheSameName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
314
+ var _errorsWhenGeneratingAStoreWithTheSameName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
285
315
  var results;
286
- return _regenerator["default"].wrap(function _callee7$(_context7) {
316
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
287
317
  while (1) {
288
- switch (_context7.prev = _context7.next) {
318
+ switch (_context8.prev = _context8.next) {
289
319
  case 0:
290
- _context7.next = 2;
320
+ _context8.next = 2;
291
321
  return this.Action('store', 'create').execute({
292
322
  nameReadable: 'Bid',
293
323
  nameReadablePlural: 'Bids',
@@ -295,7 +325,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
295
325
  });
296
326
 
297
327
  case 2:
298
- results = _context7.sent;
328
+ results = _context8.sent;
299
329
 
300
330
  _test.assert.isTruthy(results.errors);
301
331
 
@@ -303,10 +333,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
303
333
 
304
334
  case 5:
305
335
  case "end":
306
- return _context7.stop();
336
+ return _context8.stop();
307
337
  }
308
338
  }
309
- }, _callee7, this);
339
+ }, _callee8, this);
310
340
  }));
311
341
 
312
342
  function errorsWhenGeneratingAStoreWithTheSameName() {
@@ -318,13 +348,13 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
318
348
  }, {
319
349
  key: "storeFactoryAndStoresAreTyped",
320
350
  value: function () {
321
- var _storeFactoryAndStoresAreTyped = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
351
+ var _storeFactoryAndStoresAreTyped = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
322
352
  var results, path, storeContents, testFile, testContents, dest;
323
- return _regenerator["default"].wrap(function _callee8$(_context8) {
353
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
324
354
  while (1) {
325
- switch (_context8.prev = _context8.next) {
355
+ switch (_context9.prev = _context9.next) {
326
356
  case 0:
327
- _context8.next = 2;
357
+ _context9.next = 2;
328
358
  return this.Action('store', 'create').execute({
329
359
  nameReadable: 'Product',
330
360
  nameReadablePlural: 'Products',
@@ -332,7 +362,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
332
362
  });
333
363
 
334
364
  case 2:
335
- results = _context8.sent;
365
+ results = _context9.sent;
336
366
  path = _test2["default"].assertFileByNameInGeneratedFiles('Products.store.ts', results.files);
337
367
  storeContents = _spruceSkillUtils.diskUtil.readFile(path).replace('type ProductsStoreOptions = UniversalStoreOptions', 'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}');
338
368
 
@@ -344,15 +374,15 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
344
374
 
345
375
  _spruceSkillUtils.diskUtil.writeFile(dest, testContents);
346
376
 
347
- _context8.next = 12;
377
+ _context9.next = 12;
348
378
  return this.Service('typeChecker').check(dest);
349
379
 
350
380
  case 12:
351
381
  case "end":
352
- return _context8.stop();
382
+ return _context9.stop();
353
383
  }
354
384
  }
355
- }, _callee8, this);
385
+ }, _callee9, this);
356
386
  }));
357
387
 
358
388
  function storeFactoryAndStoresAreTyped() {
@@ -364,19 +394,19 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
364
394
  }, {
365
395
  key: "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled",
366
396
  value: function () {
367
- var _doesNotCreateAbstractTestFileBecauseTestIsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
368
- return _regenerator["default"].wrap(function _callee9$(_context9) {
397
+ var _doesNotCreateAbstractTestFileBecauseTestIsNotInstalled = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
398
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
369
399
  while (1) {
370
- switch (_context9.prev = _context9.next) {
400
+ switch (_context10.prev = _context10.next) {
371
401
  case 0:
372
402
  _test.assert.isFalse(_spruceSkillUtils.diskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath()));
373
403
 
374
404
  case 1:
375
405
  case "end":
376
- return _context9.stop();
406
+ return _context10.stop();
377
407
  }
378
408
  }
379
- }, _callee9);
409
+ }, _callee10);
380
410
  }));
381
411
 
382
412
  function doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {
@@ -388,11 +418,11 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
388
418
  }, {
389
419
  key: "upgradeRestoresDataStoreTypes",
390
420
  value: function () {
391
- var _upgradeRestoresDataStoreTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
421
+ var _upgradeRestoresDataStoreTypes = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
392
422
  var storesFile;
393
- return _regenerator["default"].wrap(function _callee10$(_context10) {
423
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
394
424
  while (1) {
395
- switch (_context10.prev = _context10.next) {
425
+ switch (_context11.prev = _context11.next) {
396
426
  case 0:
397
427
  _CommandService["default"].setMockResponse('yarn rebuild', {
398
428
  code: 0
@@ -406,7 +436,7 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
406
436
 
407
437
  _spruceSkillUtils.diskUtil.deleteFile(storesFile);
408
438
 
409
- _context10.next = 6;
439
+ _context11.next = 6;
410
440
  return this.Action('node', 'upgrade').execute({});
411
441
 
412
442
  case 6:
@@ -414,10 +444,10 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
414
444
 
415
445
  case 7:
416
446
  case "end":
417
- return _context10.stop();
447
+ return _context11.stop();
418
448
  }
419
449
  }
420
- }, _callee10, this);
450
+ }, _callee11, this);
421
451
  }));
422
452
 
423
453
  function upgradeRestoresDataStoreTypes() {
@@ -433,6 +463,6 @@ var CreatingDataStoresTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test)(
433
463
  }
434
464
  }]);
435
465
  return CreatingDataStoresTest;
436
- }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateStoreAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateStoreAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsNoStoresBackFromHealthCheck", [_dec2], Object.getOwnPropertyDescriptor(_class, "getsNoStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidStoreFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesValidStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsOneStoresBackFromHealthCheck", [_dec4], Object.getOwnPropertyDescriptor(_class, "getsOneStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canGenerateASecondStoreFile", [_dec5], Object.getOwnPropertyDescriptor(_class, "canGenerateASecondStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsSecondStoresBackFromHealthCheck", [_dec6], Object.getOwnPropertyDescriptor(_class, "getsSecondStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "errorsWhenGeneratingAStoreWithTheSameName", [_dec7], Object.getOwnPropertyDescriptor(_class, "errorsWhenGeneratingAStoreWithTheSameName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "storeFactoryAndStoresAreTyped", [_dec8], Object.getOwnPropertyDescriptor(_class, "storeFactoryAndStoresAreTyped"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled", [_dec9], Object.getOwnPropertyDescriptor(_class, "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradeRestoresDataStoreTypes", [_dec10], Object.getOwnPropertyDescriptor(_class, "upgradeRestoresDataStoreTypes"), _class)), _class));
466
+ }(_AbstractSkillTest2["default"]), (0, _defineProperty2["default"])(_class2, "skillCacheKey", 'stores'), _temp), ((0, _applyDecoratedDescriptor2["default"])(_class, "hasCreateStoreAction", [_dec], Object.getOwnPropertyDescriptor(_class, "hasCreateStoreAction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsNoStoresBackFromHealthCheck", [_dec2], Object.getOwnPropertyDescriptor(_class, "getsNoStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesValidStoreFile", [_dec3], Object.getOwnPropertyDescriptor(_class, "generatesValidStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generatesAMapFile", [_dec4], Object.getOwnPropertyDescriptor(_class, "generatesAMapFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsOneStoresBackFromHealthCheck", [_dec5], Object.getOwnPropertyDescriptor(_class, "getsOneStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "canGenerateASecondStoreFile", [_dec6], Object.getOwnPropertyDescriptor(_class, "canGenerateASecondStoreFile"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "getsSecondStoresBackFromHealthCheck", [_dec7], Object.getOwnPropertyDescriptor(_class, "getsSecondStoresBackFromHealthCheck"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "errorsWhenGeneratingAStoreWithTheSameName", [_dec8], Object.getOwnPropertyDescriptor(_class, "errorsWhenGeneratingAStoreWithTheSameName"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "storeFactoryAndStoresAreTyped", [_dec9], Object.getOwnPropertyDescriptor(_class, "storeFactoryAndStoresAreTyped"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled", [_dec10], Object.getOwnPropertyDescriptor(_class, "doesNotCreateAbstractTestFileBecauseTestIsNotInstalled"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "upgradeRestoresDataStoreTypes", [_dec11], Object.getOwnPropertyDescriptor(_class, "upgradeRestoresDataStoreTypes"), _class)), _class));
437
467
  exports["default"] = CreatingDataStoresTest;
438
468
  //# sourceMappingURL=CreatingADataStore.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/__tests__/behavioral/stores/CreatingADataStore.test.ts"],"names":["CreatingDataStoresTest","assert","isFunction","Action","execute","cli","checkHealth","shouldRunOnSourceFiles","health","isFalsy","skill","errors","isTruthy","store","isArray","stores","isLength","nameReadable","nameReadablePlural","namePascal","results","path","testUtil","assertFileByNameInGeneratedFiles","files","Service","check","file","resolveHashSprucePath","isTrue","diskUtil","doesFileExist","isEqual","name","errorAssertUtil","assertError","storeContents","readFile","replace","writeFile","testFile","resolveTestPath","testContents","dest","resolvePath","isFalse","getAbstractTestPath","CommandService","setMockResponse","code","storesFile","deleteFile","AbstractSkillTest"],"mappings":"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","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\nimport { errorAssertUtil } from '@sprucelabs/test-utils'\nimport '@sprucelabs/spruce-store-plugin'\nimport CommandService from '../../../services/CommandService'\nimport AbstractSkillTest from '../../../tests/AbstractSkillTest'\nimport testUtil from '../../../tests/utilities/test.utility'\n\nexport default class CreatingDataStoresTest extends AbstractSkillTest {\n\tprotected static skillCacheKey = 'stores'\n\n\t@test()\n\tprotected static async hasCreateStoreAction() {\n\t\tassert.isFunction(this.Action('store', 'create').execute)\n\t}\n\n\t@test()\n\tprotected static async getsNoStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isFalsy(health.skill.errors)\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isArray(health.store.stores)\n\t\tassert.isLength(health.store.stores, 0)\n\t}\n\n\t@test()\n\tprotected static async generatesValidStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Person',\n\t\t\tnameReadablePlural: 'People',\n\t\t\tnamePascal: 'Person',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'People.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async generatesAMapFile() {\n\t\tconst file = this.resolveHashSprucePath('stores', 'stores.ts')\n\t\tassert.isTrue(diskUtil.doesFileExist(file))\n\t\tawait this.Service('typeChecker').check(file)\n\t}\n\n\t@test()\n\tprotected static async getsOneStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 1)\n\t\tassert.isEqual(health.store.stores[0].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async canGenerateASecondStoreFile() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isFalsy(results.errors)\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Bids.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tawait this.Service('typeChecker').check(path)\n\t}\n\n\t@test()\n\tprotected static async getsSecondStoresBackFromHealthCheck() {\n\t\tconst health = await this.cli.checkHealth({ shouldRunOnSourceFiles: true })\n\n\t\tassert.isTruthy(health.store)\n\t\tassert.isFalsy(health.store.errors)\n\t\tassert.isLength(health.store.stores, 2)\n\t\tassert.isEqual(health.store.stores[0].name, 'Bids')\n\t\tassert.isEqual(health.store.stores[1].name, 'People')\n\t}\n\n\t@test()\n\tprotected static async errorsWhenGeneratingAStoreWithTheSameName() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Bid',\n\t\t\tnameReadablePlural: 'Bids',\n\t\t\tnamePascal: 'Bid',\n\t\t})\n\n\t\tassert.isTruthy(results.errors)\n\t\terrorAssertUtil.assertError(results.errors[0], 'STORE_EXISTS')\n\t}\n\n\t@test()\n\tprotected static async storeFactoryAndStoresAreTyped() {\n\t\tconst results = await this.Action('store', 'create').execute({\n\t\t\tnameReadable: 'Product',\n\t\t\tnameReadablePlural: 'Products',\n\t\t\tnamePascal: 'Product',\n\t\t})\n\n\t\tconst path = testUtil.assertFileByNameInGeneratedFiles(\n\t\t\t'Products.store.ts',\n\t\t\tresults.files\n\t\t)\n\n\t\tconst storeContents = diskUtil\n\t\t\t.readFile(path)\n\t\t\t.replace(\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions',\n\t\t\t\t'type ProductsStoreOptions = UniversalStoreOptions & {hello: string}'\n\t\t\t)\n\n\t\tdiskUtil.writeFile(path, storeContents)\n\n\t\tconst testFile = this.resolveTestPath('store-test.ts.hbs')\n\t\tconst testContents = diskUtil.readFile(testFile)\n\n\t\tconst dest = this.resolvePath('src', 'test.ts')\n\t\tdiskUtil.writeFile(dest, testContents)\n\n\t\tawait this.Service('typeChecker').check(dest)\n\t}\n\n\t@test()\n\tprotected static async doesNotCreateAbstractTestFileBecauseTestIsNotInstalled() {\n\t\tassert.isFalse(\n\t\t\tdiskUtil.doesFileExist(CreatingDataStoresTest.getAbstractTestPath())\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async upgradeRestoresDataStoreTypes() {\n\t\tCommandService.setMockResponse('yarn rebuild', {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tCommandService.setMockResponse(/yarn add/gis, {\n\t\t\tcode: 0,\n\t\t})\n\n\t\tconst storesFile = this.resolveHashSprucePath('stores/stores.types.ts')\n\t\tdiskUtil.deleteFile(storesFile)\n\t\tawait this.Action('node', 'upgrade').execute({})\n\t\tassert.isTrue(diskUtil.doesFileExist(storesFile))\n\t}\n\n\tprivate static getAbstractTestPath(): string {\n\t\treturn this.resolvePath('src', 'tests', 'AbstractDataStoreTest.ts')\n\t}\n}\n"],"file":"CreatingADataStore.test.js"}
@@ -1,4 +1,4 @@
1
- import AbstractSkillTest from '../../tests/AbstractSkillTest';
1
+ import AbstractSkillTest from '../../../tests/AbstractSkillTest';
2
2
  export default class KeepingDataStoresInSyncTest extends AbstractSkillTest {
3
3
  protected static skillCacheKey: string;
4
4
  protected static badStoreDest: string;
@@ -6,7 +6,10 @@ export default class KeepingDataStoresInSyncTest extends AbstractSkillTest {
6
6
  protected static beforeEach(): Promise<void>;
7
7
  protected static hasSyncAction(): Promise<void>;
8
8
  protected static syncsNothingToStart(): Promise<void>;
9
- private static syncStores;
10
9
  protected static badFileReturnsError(): Promise<void>;
11
10
  protected static generatesValidTypeFile(): Promise<void>;
11
+ protected static fileIsValidAfterSync(): Promise<void>;
12
+ protected static canAddSecondStore(): Promise<void>;
13
+ private static validateFiles;
14
+ private static syncStores;
12
15
  }