mcdev 7.0.3 → 7.1.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 (380) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  2. package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +1 -0
  3. package/.github/workflows/code-test.yml +48 -0
  4. package/.husky/post-checkout +1 -1
  5. package/.husky/post-merge +7 -1
  6. package/.husky/pre-commit +3 -1
  7. package/@types/lib/Builder.d.ts +13 -13
  8. package/@types/lib/Builder.d.ts.map +1 -1
  9. package/@types/lib/Deployer.d.ts +19 -16
  10. package/@types/lib/Deployer.d.ts.map +1 -1
  11. package/@types/lib/Retriever.d.ts +15 -15
  12. package/@types/lib/Retriever.d.ts.map +1 -1
  13. package/@types/lib/cli.d.ts +1 -1
  14. package/@types/lib/cli.d.ts.map +1 -1
  15. package/@types/lib/index.d.ts +102 -51
  16. package/@types/lib/index.d.ts.map +1 -1
  17. package/@types/lib/metadataTypes/Asset.d.ts +71 -59
  18. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  19. package/@types/lib/metadataTypes/AttributeGroup.d.ts +6 -8
  20. package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -1
  21. package/@types/lib/metadataTypes/AttributeSet.d.ts +10 -21
  22. package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -1
  23. package/@types/lib/metadataTypes/Automation.d.ts +47 -49
  24. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
  25. package/@types/lib/metadataTypes/Campaign.d.ts +12 -18
  26. package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -1
  27. package/@types/lib/metadataTypes/ContentArea.d.ts +13 -31
  28. package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -1
  29. package/@types/lib/metadataTypes/DataExtension.d.ts +28 -33
  30. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
  31. package/@types/lib/metadataTypes/DataExtensionField.d.ts +15 -22
  32. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
  33. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +12 -11
  34. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -1
  35. package/@types/lib/metadataTypes/DataExtract.d.ts +13 -28
  36. package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -1
  37. package/@types/lib/metadataTypes/DataExtractType.d.ts +11 -10
  38. package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -1
  39. package/@types/lib/metadataTypes/DeliveryProfile.d.ts +11 -10
  40. package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -1
  41. package/@types/lib/metadataTypes/Discovery.d.ts +11 -10
  42. package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -1
  43. package/@types/lib/metadataTypes/Email.d.ts +14 -34
  44. package/@types/lib/metadataTypes/Email.d.ts.map +1 -1
  45. package/@types/lib/metadataTypes/EmailSend.d.ts +18 -10
  46. package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -1
  47. package/@types/lib/metadataTypes/Event.d.ts +22 -16
  48. package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
  49. package/@types/lib/metadataTypes/FileLocation.d.ts +11 -10
  50. package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -1
  51. package/@types/lib/metadataTypes/FileTransfer.d.ts +12 -18
  52. package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -1
  53. package/@types/lib/metadataTypes/Filter.d.ts +11 -10
  54. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -1
  55. package/@types/lib/metadataTypes/Folder.d.ts +49 -35
  56. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
  57. package/@types/lib/metadataTypes/ImportFile.d.ts +16 -15
  58. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
  59. package/@types/lib/metadataTypes/Journey.d.ts +55 -35
  60. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  61. package/@types/lib/metadataTypes/List.d.ts +13 -12
  62. package/@types/lib/metadataTypes/List.d.ts.map +1 -1
  63. package/@types/lib/metadataTypes/MetadataType.d.ts +73 -26
  64. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
  65. package/@types/lib/metadataTypes/MobileCode.d.ts +12 -20
  66. package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -1
  67. package/@types/lib/metadataTypes/MobileKeyword.d.ts +23 -14
  68. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
  69. package/@types/lib/metadataTypes/MobileMessage.d.ts +18 -42
  70. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
  71. package/@types/lib/metadataTypes/Query.d.ts +15 -12
  72. package/@types/lib/metadataTypes/Query.d.ts.map +1 -1
  73. package/@types/lib/metadataTypes/Role.d.ts +12 -11
  74. package/@types/lib/metadataTypes/Role.d.ts.map +1 -1
  75. package/@types/lib/metadataTypes/Script.d.ts +18 -25
  76. package/@types/lib/metadataTypes/Script.d.ts.map +1 -1
  77. package/@types/lib/metadataTypes/SendClassification.d.ts +13 -10
  78. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
  79. package/@types/lib/metadataTypes/SenderProfile.d.ts +12 -25
  80. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
  81. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +18 -12
  82. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
  83. package/@types/lib/metadataTypes/TransactionalMessage.d.ts +12 -32
  84. package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -1
  85. package/@types/lib/metadataTypes/TransactionalPush.d.ts +15 -21
  86. package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -1
  87. package/@types/lib/metadataTypes/TransactionalSMS.d.ts +16 -18
  88. package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -1
  89. package/@types/lib/metadataTypes/TriggeredSend.d.ts +19 -24
  90. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
  91. package/@types/lib/metadataTypes/User.d.ts +23 -40
  92. package/@types/lib/metadataTypes/User.d.ts.map +1 -1
  93. package/@types/lib/metadataTypes/Verification.d.ts +16 -13
  94. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
  95. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts +24 -14
  96. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts +3 -0
  97. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts +5 -0
  98. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +16 -0
  99. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts +1 -0
  100. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts +1 -0
  101. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts +1 -0
  102. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts +1 -0
  103. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts +1 -0
  104. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts +1 -0
  105. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts +1 -0
  106. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts +1 -0
  107. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts +1 -0
  108. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts +1 -0
  109. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts +8 -0
  110. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +10 -1
  111. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts +1 -0
  112. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts +1 -0
  113. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +1 -0
  114. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts +1 -0
  115. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts +5 -0
  116. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +13 -0
  117. package/@types/lib/metadataTypes/definitions/List.definition.d.ts +1 -0
  118. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts +1 -0
  119. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts +9 -0
  120. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts +4 -0
  121. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts +3 -0
  122. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts +1 -0
  123. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts +1 -0
  124. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts +3 -0
  125. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts +1 -0
  126. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts +6 -0
  127. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts +1 -0
  128. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts +3 -0
  129. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts +4 -0
  130. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts +6 -0
  131. package/@types/lib/metadataTypes/definitions/User.definition.d.ts +1 -0
  132. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts +3 -0
  133. package/@types/lib/util/auth.d.ts +19 -18
  134. package/@types/lib/util/auth.d.ts.map +1 -1
  135. package/@types/lib/util/businessUnit.d.ts +17 -17
  136. package/@types/lib/util/businessUnit.d.ts.map +1 -1
  137. package/@types/lib/util/cache.d.ts +34 -32
  138. package/@types/lib/util/cache.d.ts.map +1 -1
  139. package/@types/lib/util/cli.d.ts +30 -33
  140. package/@types/lib/util/cli.d.ts.map +1 -1
  141. package/@types/lib/util/config.d.ts +20 -20
  142. package/@types/lib/util/config.d.ts.map +1 -1
  143. package/@types/lib/util/devops.d.ts +21 -21
  144. package/@types/lib/util/devops.d.ts.map +1 -1
  145. package/@types/lib/util/file.d.ts +179 -18
  146. package/@types/lib/util/file.d.ts.map +1 -1
  147. package/@types/lib/util/init.config.d.ts +19 -19
  148. package/@types/lib/util/init.config.d.ts.map +1 -1
  149. package/@types/lib/util/init.d.ts +20 -20
  150. package/@types/lib/util/init.d.ts.map +1 -1
  151. package/@types/lib/util/init.git.d.ts +2 -2
  152. package/@types/lib/util/init.git.d.ts.map +1 -1
  153. package/@types/lib/util/init.npm.d.ts +2 -2
  154. package/@types/lib/util/init.npm.d.ts.map +1 -1
  155. package/@types/lib/util/replaceContentBlockReference.d.ts +55 -32
  156. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
  157. package/@types/lib/util/util.d.ts +64 -39
  158. package/@types/lib/util/util.d.ts.map +1 -1
  159. package/@types/types/mcdev.d.d.ts +160 -52
  160. package/@types/types/mcdev.d.d.ts.map +1 -1
  161. package/boilerplate/files/.vscode/settings.json +1 -0
  162. package/boilerplate/forcedUpdates.json +4 -0
  163. package/boilerplate/gitignore-template +0 -1
  164. package/eslint.config.js +0 -1
  165. package/lib/Builder.js +13 -8
  166. package/lib/Deployer.js +13 -8
  167. package/lib/Retriever.js +4 -1
  168. package/lib/cli.js +384 -288
  169. package/lib/index.js +620 -241
  170. package/lib/metadataTypes/Asset.js +455 -209
  171. package/lib/metadataTypes/Automation.js +34 -0
  172. package/lib/metadataTypes/DataExtension.js +36 -31
  173. package/lib/metadataTypes/DataExtensionField.js +2 -3
  174. package/lib/metadataTypes/Event.js +227 -37
  175. package/lib/metadataTypes/Folder.js +64 -49
  176. package/lib/metadataTypes/Journey.js +340 -58
  177. package/lib/metadataTypes/MetadataType.js +272 -61
  178. package/lib/metadataTypes/MobileKeyword.js +12 -1
  179. package/lib/metadataTypes/Role.js +9 -7
  180. package/lib/metadataTypes/Script.js +4 -3
  181. package/lib/metadataTypes/SenderProfile.js +18 -5
  182. package/lib/metadataTypes/TransactionalEmail.js +2 -2
  183. package/lib/metadataTypes/TriggeredSend.js +21 -5
  184. package/lib/metadataTypes/User.js +31 -27
  185. package/lib/metadataTypes/definitions/Asset.definition.js +10 -2
  186. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +1 -0
  187. package/lib/metadataTypes/definitions/AttributeSet.definition.js +11 -0
  188. package/lib/metadataTypes/definitions/Automation.definition.js +9 -0
  189. package/lib/metadataTypes/definitions/Campaign.definition.js +1 -0
  190. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -0
  191. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
  192. package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -0
  193. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -0
  194. package/lib/metadataTypes/definitions/DataExtract.definition.js +2 -1
  195. package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -0
  196. package/lib/metadataTypes/definitions/DeliveryProfile.definition.js +1 -0
  197. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -0
  198. package/lib/metadataTypes/definitions/Email.definition.js +1 -0
  199. package/lib/metadataTypes/definitions/EmailSend.definition.js +8 -0
  200. package/lib/metadataTypes/definitions/Event.definition.js +9 -8
  201. package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -0
  202. package/lib/metadataTypes/definitions/FileTransfer.definition.js +4 -0
  203. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  204. package/lib/metadataTypes/definitions/Folder.definition.js +10 -8
  205. package/lib/metadataTypes/definitions/ImportFile.definition.js +8 -1
  206. package/lib/metadataTypes/definitions/Journey.definition.js +28 -0
  207. package/lib/metadataTypes/definitions/List.definition.js +1 -0
  208. package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -0
  209. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +7 -0
  210. package/lib/metadataTypes/definitions/MobileMessage.definition.js +9 -0
  211. package/lib/metadataTypes/definitions/Query.definition.js +3 -0
  212. package/lib/metadataTypes/definitions/Role.definition.js +1 -0
  213. package/lib/metadataTypes/definitions/Script.definition.js +1 -0
  214. package/lib/metadataTypes/definitions/SendClassification.definition.js +4 -0
  215. package/lib/metadataTypes/definitions/SenderProfile.definition.js +1 -0
  216. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +7 -0
  217. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +1 -0
  218. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +3 -0
  219. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +4 -0
  220. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +10 -3
  221. package/lib/metadataTypes/definitions/User.definition.js +3 -0
  222. package/lib/metadataTypes/definitions/Verification.definition.js +1 -0
  223. package/lib/util/auth.js +0 -1
  224. package/lib/util/cache.js +35 -0
  225. package/lib/util/cli.js +96 -140
  226. package/lib/util/config.js +11 -19
  227. package/lib/util/devops.js +42 -43
  228. package/lib/util/file.js +7 -10
  229. package/lib/util/init.config.js +6 -10
  230. package/lib/util/init.git.js +43 -57
  231. package/lib/util/init.js +35 -59
  232. package/lib/util/replaceContentBlockReference.js +110 -61
  233. package/lib/util/util.js +90 -4
  234. package/package.json +22 -19
  235. package/test/general.test.js +1144 -172
  236. package/test/mockRoot/.mcdevrc.json +1 -1
  237. package/test/mockRoot/deploy/testInstance/testBU/event/testExisting_event.event-meta.json +201 -0
  238. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withExistingDE.event-meta.json +233 -0
  239. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withSchema.event-meta.json +194 -0
  240. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.json +1 -0
  241. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.json +1 -0
  242. package/test/resourceFactory.js +43 -11
  243. package/test/resources/1111111/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +364 -0
  244. package/test/resources/9999999/asset/{block-1157-retrieve-expected.html → build-asset_htmlblock-expected.html} +1 -1
  245. package/test/resources/9999999/asset/build-asset_htmlblock-expected.json +29 -0
  246. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +65 -0
  247. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +3 -3
  248. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +3 -3
  249. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +65 -0
  250. package/test/resources/9999999/asset/template-emailTemplate-expected.json +20 -0
  251. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +65 -0
  252. package/test/resources/9999999/asset/template-testExisting_asset_htmlblock-expected.json +29 -0
  253. package/test/resources/9999999/asset/testExisting_asset_htmlblock-retrieve-expected.html +23 -0
  254. package/test/resources/9999999/asset/{block-1157-retrieve-expected.json → testExisting_asset_htmlblock-retrieve-expected.json} +3 -3
  255. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +6 -6
  256. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +1 -1
  257. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -4
  258. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +1 -1
  259. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -4
  260. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +4 -4
  261. package/test/resources/9999999/asset/v1/content/assets/1295065/get-response.json +60 -0
  262. package/test/resources/9999999/asset/v1/content/assets/1295066/get-response.json +60 -0
  263. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +75 -0
  264. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +3 -3
  265. package/test/resources/9999999/asset/v1/content/assets/950143/get-response.json +97 -0
  266. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +1 -1
  267. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN195,196,197,198,199,200,201,202,203,210,211,212,213,3.json +78 -2
  268. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14,193,194,15,195,196,197,198,199,200,201,202,203,210,211,212,213,3,207,208,209,5,214,4,215,216.json +370 -0
  269. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14,193,194,15,195,196,197,198,199,200,201,202,203,210,211,212,213,3,215,216,217,218,219,220,221,222.json +243 -0
  270. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,207,208,209,5.json +229 -0
  271. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +98 -1
  272. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN217,218,219,220,221,222,223,224,225,226,227,228.json +7 -0
  273. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228,214,4.json +35 -0
  274. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228.json +7 -0
  275. package/test/resources/9999999/asset/v1/content/assets/query/{post-response-customerKey=mcdev-issue-1157.json → post-response-customerKey=testExisting_asset_htmlblock.json} +2 -2
  276. package/test/resources/9999999/automation/v1/queries/get-response-Name=testExisting_query.json +24 -0
  277. package/test/resources/9999999/automation/v1/scripts/get-response-name=testExisting_script.json +17 -0
  278. package/test/resources/9999999/automation/v1/scripts/get-response.json +2 -2
  279. package/test/resources/9999999/dataExtension/retrieve-CustomerKey=testNew_event_withSchema-response.xml +50 -0
  280. package/test/resources/9999999/dataExtension/retrieve-createdViaEvent-response.xml +50 -0
  281. package/test/resources/9999999/dataExtension/retrieve-response.xml +48 -0
  282. package/test/resources/9999999/dataExtension/retrieve_event_withSchema-expected.json +219 -0
  283. package/test/resources/9999999/dataExtension/update-afterCreatedViaEvent-response.xml +55 -0
  284. package/test/resources/9999999/dataExtension/update-callout-afterCreatedViaEvent-expected.xml +1 -0
  285. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_event_withSchema-response.xml +461 -0
  286. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKeyINtestExisting_dataExtension,testNew_dataExtension-response.xml +133 -0
  287. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +870 -0
  288. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-QAA-response.xml +70 -0
  289. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-response.xml +70 -0
  290. package/test/resources/9999999/dataFolder/retrieve-ContentType=journey-response.xml +48 -0
  291. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,automatio,dataexten,hidden,journey,list,mysubs,publicati,queryacti,salesforc,shared_da,shared_da,shared_sa,ssjsactiv,synchroni,triggered,triggered,useriniti-response.xml +519 -0
  292. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,dataexten,salesforc,shared_da,shared_da,shared_sa,synchroni,automatio,useriniti,journey,mysubs,list,publicati,queryacti,ssjsactiv,triggered,triggered-response.xml +519 -0
  293. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,journey-response.xml +92 -0
  294. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +115 -0
  295. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,ssjsactivity-response.xml +92 -0
  296. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared-QAA-response.xml +70 -0
  297. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +431 -0
  298. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINautomations,queryactivity-response.xml +70 -0
  299. package/test/resources/9999999/dataFolder/{retrieve-response.xml → retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +32 -119
  300. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINdataextension,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +117 -0
  301. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINhidden,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +46 -0
  302. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +251 -0
  303. package/test/resources/9999999/dataFolder/retrieve-response-.xml +519 -0
  304. package/test/resources/9999999/event/build-expected.json +227 -0
  305. package/test/resources/9999999/event/get-expected.json +234 -0
  306. package/test/resources/9999999/event/post_withExistingDE-callout-expected.json +20 -0
  307. package/test/resources/9999999/event/post_withExistingDE-expected.json +23 -0
  308. package/test/resources/9999999/event/post_withSchema-callout-expected.json +199 -0
  309. package/test/resources/9999999/event/post_withSchema-expected.json +234 -0
  310. package/test/resources/9999999/event/put-callout-expected.json +204 -0
  311. package/test/resources/9999999/event/put-expected.json +233 -0
  312. package/test/resources/9999999/event/template-expected.json +227 -0
  313. package/test/resources/9999999/interaction/v1/eventDefinitions/get-response.json +252 -2
  314. package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/delete-response.txt +0 -0
  315. package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/put-response.json +242 -0
  316. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withExistingDE-response.json +28 -0
  317. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withSchema-response.json +243 -0
  318. package/test/resources/9999999/interaction/v1/interactions/0175b971-71a3-4d8e-98ac-48121f3fbf4f/delete-response.txt +1 -0
  319. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +4 -4
  320. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +4 -4
  321. package/test/resources/9999999/interaction/v1/interactions/publishAsync/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/post-response.json +4 -0
  322. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-failed.json +34 -0
  323. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-success.json +5 -0
  324. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-successWarnings.json +36 -0
  325. package/test/resources/9999999/journey/build-expected.json +5 -5
  326. package/test/resources/9999999/journey/get-multistep-expected.json +1 -1
  327. package/test/resources/9999999/journey/get-quicksend-expected.json +5 -5
  328. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +1 -1
  329. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +7 -7
  330. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +1 -1
  331. package/test/resources/9999999/journey/post-expected.json +1 -1
  332. package/test/resources/9999999/journey/publish-callout-expected.json +1 -0
  333. package/test/resources/9999999/journey/put-expected.json +1 -1
  334. package/test/resources/9999999/journey/template-expected.json +5 -5
  335. package/test/resources/9999999/mobileKeyword/build-expected.json +1 -0
  336. package/test/resources/9999999/mobileKeyword/get-expected.json +1 -0
  337. package/test/resources/9999999/mobileKeyword/post-create-expected.json +1 -0
  338. package/test/resources/9999999/mobileKeyword/template-expected.json +1 -0
  339. package/test/resources/{1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → 9999999/queryDefinition/retrieve-CustomerKey=badANDStatus=Active-response.xml} +10 -11
  340. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +2 -2
  341. package/test/resources/9999999/script/get_ampscript-expected.html +1 -0
  342. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +1 -0
  343. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +3 -2
  344. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +3 -0
  345. package/test/resources/9999999/script/get_mixed-expected.html +2 -2
  346. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +2 -2
  347. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +4 -4
  348. package/test/resources/9999999/senderProfile/retrieve-response.xml +1 -1
  349. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +4 -4
  350. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +1 -1
  351. package/test/type.asset.test.js +189 -42
  352. package/test/type.automation.test.js +135 -59
  353. package/test/type.dataExtension.test.js +4 -4
  354. package/test/type.dataExtract.test.js +4 -4
  355. package/test/type.emailSend.test.js +3 -3
  356. package/test/type.event.test.js +286 -7
  357. package/test/type.journey.test.js +335 -9
  358. package/test/type.query.test.js +33 -29
  359. package/test/type.script.test.js +61 -11
  360. package/test/type.senderProfile.test.js +36 -3
  361. package/test/type.transactionalEmail.test.js +3 -3
  362. package/test/type.triggeredSend.test.js +75 -6
  363. package/test/type.user.test.js +1 -1
  364. package/test/utils.js +31 -9
  365. package/tsconfig.json +6 -1
  366. package/{jsconfig.json → tsconfig.npmScripts.json} +1 -1
  367. package/tsconfig.precommit.json +26 -0
  368. package/types/mcdev.d.js +39 -14
  369. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  370. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDEmaillike@-QAA-response.xml} +0 -0
  371. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  372. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-QAA-response.xml} +0 -0
  373. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDEmaillike@-QAA-response.xml} +0 -0
  374. /package/test/resources/1111111/businessUnit/{retrieve-ID=1111111-response.xml → retrieve-ID=1111111-QAA-response.xml} +0 -0
  375. /package/test/resources/1111111/dataFolder/{retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml → retrieve-ContentTypeINdataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +0 -0
  376. /package/test/resources/1111111/dataFolder/{retrieve-response.xml → retrieve-response-.xml} +0 -0
  377. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=asset-sharedORContentType=asset-response.xml → retrieve-ContentTypeINasset,asset-shared-response.xml} +0 -0
  378. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=contextual_suppression_listORContentType=publicationORContentType=suppression_listORContentType=mysubsORContentType=list-response.xml → retrieve-ContentTypeINcontextual_suppression_list,list,mysubs,publication,suppression_list-response.xml} +0 -0
  379. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml → retrieve-ContentTypeINdataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +0 -0
  380. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=triggered_send_journeybuilderORContentType=triggered_sendORContentType=hidden-response.xml → retrieve-ContentTypeINhidden,triggered_send,triggered_send_journeybuilder-response.xml} +0 -0
@@ -1,27 +1,26 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
2
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3
5
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
4
6
  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
5
- xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
6
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
7
+ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
8
8
  <soap:Header>
9
9
  <wsa:Action>RetrieveResponse</wsa:Action>
10
- <wsa:MessageID>urn:uuid:1babdae0-9282-4bba-b69f-2f1843deaf11</wsa:MessageID>
11
- <wsa:RelatesTo>urn:uuid:39d1c021-b3df-49f9-a8f7-bb444172d2d3</wsa:RelatesTo>
10
+ <wsa:MessageID>urn:uuid:ed6a40f5-98ec-48e9-a059-2a4b7254448b</wsa:MessageID>
11
+ <wsa:RelatesTo>urn:uuid:1b00729b-19f9-4eae-b856-f5ce837ec0c8</wsa:RelatesTo>
12
12
  <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
13
13
  <wsse:Security>
14
- <wsu:Timestamp wsu:Id="Timestamp-291db2ee-625d-49f7-8f6f-110317b081a5">
15
- <wsu:Created>2023-03-11T13:53:00Z</wsu:Created>
16
- <wsu:Expires>2023-03-11T13:58:00Z</wsu:Expires>
14
+ <wsu:Timestamp wsu:Id="Timestamp-cd3b3dcd-ad61-43ad-9b80-3934f420befd">
15
+ <wsu:Created>2024-07-12T09:24:49Z</wsu:Created>
16
+ <wsu:Expires>2024-07-12T09:29:49Z</wsu:Expires>
17
17
  </wsu:Timestamp>
18
18
  </wsse:Security>
19
19
  </soap:Header>
20
20
  <soap:Body>
21
21
  <RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
22
22
  <OverallStatus>OK</OverallStatus>
23
- <RequestID>5347bf1d-e801-486a-b4a9-c2d46a8909b6</RequestID>
24
-
23
+ <RequestID>57658276-aab0-4312-b305-3b7e9911817f</RequestID>
25
24
  </RetrieveResponseMsg>
26
25
  </soap:Body>
27
26
  </soap:Envelope>
@@ -1,5 +1,5 @@
1
- <script runat="server">line1 %%[ SET @test='bla bla' ]%% line2 %%= ContentBlockByKey("mcdev-issue-1157") =%% still line2
1
+ <script runat="server">line1 %%[ SET @test='bla bla' ]%% line2 %%= ContentBlockByKey("testExisting_asset_htmlblock") =%% still line2
2
2
  line3
3
3
  </script>
4
4
  <script runat="server">
5
- Platform.Function.ContentBlockByKey("mcdev-issue-1157");</script>
5
+ Platform.Function.ContentBlockByKey("testExisting_asset_htmlblock");</script>
@@ -7,4 +7,5 @@ line2 %%= ContentBlockByName("Content Builder\dont strip non ssjs content") =%%
7
7
  Platform.Function.ContentBlockByName(
8
8
  "Content Builder\\dont strip non ssjs content"
9
9
  );
10
+ Platform.Function.ContentBlockByKey("testExisting_htmlblock1");
10
11
  </script>
@@ -5,4 +5,5 @@ line1
5
5
  line2 %%= ContentBlockById(1295064) =%% still line2 line3
6
6
  <script runat="server">
7
7
  Platform.Function.ContentBlockById(1295064);
8
+ Platform.Function.ContentBlockById(1295065);
8
9
  </script>
@@ -2,7 +2,8 @@ line1
2
2
  %%[
3
3
  SET @test = 'bla bla'
4
4
  ]%%
5
- line2 %%= ContentBlockByKey("mcdev-issue-1157") =%% still line2 line3
5
+ line2 %%= ContentBlockByKey("testExisting_asset_htmlblock") =%% still line2 line3
6
6
  <script runat="server">
7
- Platform.Function.ContentBlockByKey("mcdev-issue-1157");
7
+ Platform.Function.ContentBlockByKey("testExisting_asset_htmlblock");
8
+ Platform.Function.ContentBlockByKey("testExisting_htmlblock1");
8
9
  </script>
@@ -7,4 +7,7 @@ line2 %%= ContentBlockByName("Content Builder\dont strip non ssjs content") =%%
7
7
  Platform.Function.ContentBlockByName(
8
8
  "Content Builder\\dont strip non ssjs content"
9
9
  );
10
+ Platform.Function.ContentBlockByName(
11
+ "Content Builder\\testExisting_htmlblock1"
12
+ );
10
13
  </script>
@@ -5,8 +5,8 @@ line1
5
5
  %%[
6
6
  SET @test = 'bla bla'
7
7
  ]%%
8
- line2 %%= ContentBlockByKey("mcdev-issue-1157") =%% still line2; collapsed to line2 because it's assumed
8
+ line2 %%= ContentBlockByKey("testExisting_asset_htmlblock") =%% still line2; collapsed to line2 because it's assumed
9
9
  HTML
10
10
  <script runat="server">
11
- Platform.Function.ContentBlockByKey("mcdev-issue-1157");
11
+ Platform.Function.ContentBlockByKey("testExisting_asset_htmlblock");
12
12
  </script>
@@ -5,8 +5,8 @@ line1
5
5
  %%[
6
6
  SET @test = 'bla bla'
7
7
  ]%%
8
- line2 %%= ContentBlockByKey("mcdev-issue-1157") =%% still line2; collapsed to line2 because it's assumed
8
+ line2 %%= ContentBlockByKey("testExisting_asset_htmlblock") =%% still line2; collapsed to line2 because it's assumed
9
9
  HTML
10
10
  <script runat="server">
11
- Platform.Function.ContentBlockByKey("mcdev-issue-1157");
11
+ Platform.Function.ContentBlockByKey("testExisting_asset_htmlblock");
12
12
  </script>
@@ -4,11 +4,11 @@
4
4
  "CustomerKey": "testExisting_senderProfile_rcb",
5
5
  "Name": "testExisting_senderProfile_rcb",
6
6
  "Description": "Send from joern.berkefeld@accenture.com",
7
- "FromName": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
8
- "FromAddress": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
7
+ "FromName": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
8
+ "FromAddress": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
9
9
  "UseDefaultRMMRules": true,
10
- "AutoForwardToEmailAddress": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
11
- "AutoForwardToName": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
10
+ "AutoForwardToEmailAddress": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
11
+ "AutoForwardToName": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
12
12
  "DirectForward": false,
13
13
  "AutoReply": false,
14
14
  "SenderHeaderEmailAddress": "",
@@ -66,7 +66,7 @@
66
66
  <Name>testExisting_senderProfile_rcb</Name>
67
67
  <Description>Send from joern.berkefeld@accenture.com</Description>
68
68
  <FromName>%%= ContentBlockByName("Content Builder\dont strip non ssjs content") =%%</FromName>
69
- <FromAddress>%%= ContentBlockByKey("mcdev-issue-1157") =%%</FromAddress>
69
+ <FromAddress>%%= ContentBlockByKey("testExisting_asset_htmlblock") =%%</FromAddress>
70
70
  <UseDefaultRMMRules>true</UseDefaultRMMRules>
71
71
  <AutoForwardToEmailAddress>%%= ContentBlockById(1295064) =%%</AutoForwardToEmailAddress>
72
72
  <AutoForwardToName>%%= ContentBlockById(1295064) =%%</AutoForwardToName>
@@ -7,10 +7,10 @@
7
7
  "CreatedDate": "2018-06-25T05:58:00",
8
8
  "CustomerKey": "testExisting_triggeredSend_rcb",
9
9
  "Description": "Unsubscribe_Email",
10
- "DynamicEmailSubject": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
11
- "EmailSubject": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
12
- "FromAddress": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
13
- "FromName": "%%= ContentBlockByKey(\"mcdev-issue-1157\") =%%",
10
+ "DynamicEmailSubject": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
11
+ "EmailSubject": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
12
+ "FromAddress": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
13
+ "FromName": "%%= ContentBlockByKey(\"testExisting_asset_htmlblock\") =%%",
14
14
  "IsMultipart": false,
15
15
  "IsWrapped": true,
16
16
  "Keyword": "",
@@ -94,7 +94,7 @@
94
94
  <CustomerKey>testExisting_senderProfile_rcb</CustomerKey>
95
95
  </SenderProfile>
96
96
  <FromName>%%= ContentBlockByName("Content Builder\dont strip non ssjs content") =%%</FromName>
97
- <FromAddress>%%= ContentBlockByKey("mcdev-issue-1157") =%%</FromAddress>
97
+ <FromAddress>%%= ContentBlockByKey("testExisting_asset_htmlblock") =%%</FromAddress>
98
98
  <SuppressTracking>false</SuppressTracking>
99
99
  <TriggeredSendType>Continuous</TriggeredSendType>
100
100
  <TriggeredSendStatus>New</TriggeredSendStatus>
@@ -156,24 +156,35 @@ describe('type: asset', () => {
156
156
  retrieve['testInstance/testBU'].asset
157
157
  ? Object.keys(retrieve['testInstance/testBU'].asset).length
158
158
  : 0,
159
- 5,
160
- 'only 5 assets expected in retrieve response'
159
+ 8,
160
+ 'Unexpected number of assets in retrieve response'
161
161
  );
162
162
  // get results from cache
163
163
  const result = cache.getCache();
164
164
  assert.equal(
165
165
  result.asset ? Object.keys(result.asset).length : 0,
166
- 5,
167
- 'only 5 assets expected in cache'
166
+ 8,
167
+ 'Unexpected number of assets in cache'
168
168
  );
169
169
 
170
170
  assert.deepEqual(
171
- await getActualJson('mcdev-issue-1157', 'asset', 'block'),
172
- await testUtils.getExpectedJson('9999999', 'asset', 'block-1157-retrieve'),
171
+ await getActualJson('testExisting_asset_htmlblock', 'asset', 'block'),
172
+ await testUtils.getExpectedJson(
173
+ '9999999',
174
+ 'asset',
175
+ 'testExisting_asset_htmlblock-retrieve'
176
+ ),
173
177
  'returned metadata was not equal expected'
174
178
  );
175
- expect(await getActualFile('mcdev-issue-1157', 'asset', 'block', 'html')).to.equal(
176
- await testUtils.getExpectedFile('9999999', 'asset', 'block-1157-retrieve', 'html')
179
+ expect(
180
+ await getActualFile('testExisting_asset_htmlblock', 'asset', 'block', 'html')
181
+ ).to.equal(
182
+ await testUtils.getExpectedFile(
183
+ '9999999',
184
+ 'asset',
185
+ 'testExisting_asset_htmlblock-retrieve',
186
+ 'html'
187
+ )
177
188
  );
178
189
 
179
190
  assert.deepEqual(
@@ -216,7 +227,7 @@ describe('type: asset', () => {
216
227
 
217
228
  assert.equal(
218
229
  testUtils.getAPIHistoryLength(),
219
- 15,
230
+ 21,
220
231
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
221
232
  );
222
233
  return;
@@ -229,6 +240,7 @@ describe('type: asset', () => {
229
240
  });
230
241
 
231
242
  it('Should create an asset with mis-matching memberId, automatically adding the MID suffix', async () => {
243
+ handler.setOptions({ autoMidSuffix: true });
232
244
  // WHEN
233
245
  const deployResult = await handler.deploy(
234
246
  'testInstance/testBU',
@@ -250,7 +262,7 @@ describe('type: asset', () => {
250
262
  assert.equal(
251
263
  upsertCallout?.customerKey,
252
264
  'testNew_asset-9999999',
253
- 'customerKey should be testNew_asset-9999999 due to automatic MID suffix'
265
+ 'customerKey should be testNew_asset-9999999 due to --autoMidSuffix'
254
266
  );
255
267
 
256
268
  // insert
@@ -262,14 +274,14 @@ describe('type: asset', () => {
262
274
 
263
275
  assert.equal(
264
276
  testUtils.getAPIHistoryLength(),
265
- 10,
277
+ 5,
266
278
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
267
279
  );
268
280
  return;
269
281
  });
270
282
 
271
- it('Should create an assetwith mis-matching memberId, --noMidSuffix and --keySuffix', async () => {
272
- handler.setOptions({ keySuffix: '_DEV', noMidSuffix: true });
283
+ it('Should create an assetwith mis-matching memberId and --keySuffix', async () => {
284
+ handler.setOptions({ keySuffix: '_DEV' });
273
285
  // WHEN
274
286
  const deployResult = await handler.deploy(
275
287
  'testInstance/testBU',
@@ -291,19 +303,18 @@ describe('type: asset', () => {
291
303
  assert.equal(
292
304
  upsertCallout?.customerKey,
293
305
  'testNew_asset_DEV',
294
- 'customerKey should be testNew_asset_DEV due to noMidSuffix and keySuffix'
306
+ 'customerKey should be testNew_asset_DEV due to --keySuffix'
295
307
  );
296
308
 
297
309
  assert.equal(
298
310
  testUtils.getAPIHistoryLength(),
299
- 10,
311
+ 5,
300
312
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
301
313
  );
302
314
  return;
303
315
  });
304
316
 
305
- it('Should create an assetwith mis-matching memberId, --noMidSuffix', async () => {
306
- handler.setOptions({ noMidSuffix: true });
317
+ it('Should create an assetwith mis-matching memberId', async () => {
307
318
  // WHEN
308
319
  const deployResult = await handler.deploy(
309
320
  'testInstance/testBU',
@@ -325,12 +336,12 @@ describe('type: asset', () => {
325
336
  assert.equal(
326
337
  upsertCallout?.customerKey,
327
338
  'testNew_asset',
328
- 'customerKey should be testNew_asset due to noMidSuffix'
339
+ 'customerKey should be testNew_asset'
329
340
  );
330
341
 
331
342
  assert.equal(
332
343
  testUtils.getAPIHistoryLength(),
333
- 10,
344
+ 5,
334
345
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
335
346
  );
336
347
  return;
@@ -342,7 +353,7 @@ describe('type: asset', () => {
342
353
  // download first before we test buildTemplate
343
354
  await handler.retrieve('testInstance/testBU', ['asset']);
344
355
 
345
- const expectedApiCallsRetrieve = 15;
356
+ const expectedApiCallsRetrieve = 21;
346
357
  assert.equal(
347
358
  testUtils.getAPIHistoryLength(),
348
359
  expectedApiCallsRetrieve,
@@ -353,16 +364,18 @@ describe('type: asset', () => {
353
364
  const result = await handler.buildTemplate(
354
365
  'testInstance/testBU',
355
366
  'asset',
356
- ['testExisting_asset_templatebasedemail'],
367
+ ['testExisting_asset_templatebasedemail', 'testExisting_asset_htmlblock'],
357
368
  'testSourceMarket'
358
369
  );
359
370
  // WHEN
360
371
  assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
361
372
  assert.equal(
362
373
  result.asset ? Object.keys(result.asset).length : 0,
363
- 1,
364
- 'only one asset expected'
374
+ 2,
375
+ 'unexpected number of assets templated'
365
376
  );
377
+
378
+ // testExisting_asset_templatebasedemail
366
379
  assert.deepEqual(
367
380
  await getActualTemplateJson(
368
381
  'testExisting_asset_templatebasedemail',
@@ -372,7 +385,6 @@ describe('type: asset', () => {
372
385
  await testUtils.getExpectedJson('9999999', 'asset', 'template-templatebasedemail'),
373
386
  'returned template JSON of buildTemplate was not equal expected'
374
387
  );
375
-
376
388
  expect(
377
389
  await getActualTemplateFile(
378
390
  'testExisting_asset_templatebasedemail',
@@ -405,15 +417,21 @@ describe('type: asset', () => {
405
417
  'amp'
406
418
  )
407
419
  );
408
- // THEN
409
- await handler.buildDefinition(
420
+
421
+ const definitions = await handler.buildDefinition(
410
422
  'testInstance/testBU',
411
423
  'asset',
412
- ['testExisting_asset_templatebasedemail'],
424
+ ['testExisting_asset_templatebasedemail', 'testExisting_asset_htmlblock'],
413
425
  'testTargetMarket'
414
426
  );
415
427
  assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
428
+ assert.equal(
429
+ definitions.asset ? Object.keys(definitions.asset).length : 0,
430
+ 2,
431
+ 'unexpected number of assets templated'
432
+ );
416
433
 
434
+ // testTemplated_asset_templatebasedemail
417
435
  assert.deepEqual(
418
436
  await getActualDeployJson(
419
437
  'testTemplated_asset_templatebasedemail',
@@ -456,6 +474,18 @@ describe('type: asset', () => {
456
474
  )
457
475
  );
458
476
 
477
+ // testTemplated_asset_htmlblock
478
+ assert.deepEqual(
479
+ await getActualDeployJson('testTemplated_asset_htmlblock', 'asset', 'block'),
480
+ await testUtils.getExpectedJson('9999999', 'asset', 'build-asset_htmlblock'),
481
+ 'returned deployment JSON was not equal expected'
482
+ );
483
+ expect(
484
+ await getActualDeployFile('testTemplated_asset_htmlblock', 'asset', 'block', 'html')
485
+ ).to.equal(
486
+ await testUtils.getExpectedFile('9999999', 'asset', 'build-asset_htmlblock', 'html')
487
+ );
488
+
459
489
  assert.equal(
460
490
  testUtils.getAPIHistoryLength() - expectedApiCallsRetrieve,
461
491
  0,
@@ -463,6 +493,114 @@ describe('type: asset', () => {
463
493
  );
464
494
  return;
465
495
  });
496
+
497
+ it('Should create a asset template via buildTemplate with --dependencies', async () => {
498
+ // download first before we test buildTemplate
499
+ await handler.retrieve('testInstance/testBU', ['asset']);
500
+
501
+ const expectedApiCallsRetrieve = 21;
502
+ assert.equal(
503
+ testUtils.getAPIHistoryLength(),
504
+ expectedApiCallsRetrieve,
505
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
506
+ );
507
+ handler.setOptions({ dependencies: true, skipInteraction: true });
508
+
509
+ // GIVEN there is a template
510
+ const templatedItems = await handler.buildTemplate(
511
+ 'testInstance/testBU',
512
+ 'asset',
513
+ ['testExisting_asset_templatebasedemail'],
514
+ 'testSourceMarket'
515
+ );
516
+ // WHEN
517
+ assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
518
+ assert.equal(
519
+ templatedItems.asset ? templatedItems.asset.length : 0,
520
+ 5,
521
+ 'Unexpted number of assets templated'
522
+ );
523
+ assert.deepEqual(
524
+ templatedItems.asset.map((item) => item.customerKey),
525
+ [
526
+ '{{{prefix}}}asset_templatebasedemail',
527
+ '{{{prefix}}}asset_template',
528
+ '{{{prefix}}}asset_htmlblock',
529
+ '{{{prefix}}}htmlblock1',
530
+ '{{{prefix}}}htmlblock2',
531
+ ],
532
+ 'expected specific assets to be templated'
533
+ );
534
+
535
+ // testExisting_asset_templatebasedemail
536
+ assert.deepEqual(
537
+ await getActualTemplateJson(
538
+ 'testExisting_asset_templatebasedemail',
539
+ 'asset',
540
+ 'message'
541
+ ),
542
+ await testUtils.getExpectedJson('9999999', 'asset', 'template-templatebasedemail'),
543
+ 'returned template JSON of buildTemplate was not equal expected'
544
+ );
545
+
546
+ expect(
547
+ await getActualTemplateFile(
548
+ 'testExisting_asset_templatebasedemail',
549
+ 'asset',
550
+ 'message',
551
+ 'html',
552
+ 'views.html.content'
553
+ )
554
+ ).to.equal(
555
+ await testUtils.getExpectedFile(
556
+ '9999999',
557
+ 'asset',
558
+ 'template-templatebasedemail-html',
559
+ 'html'
560
+ )
561
+ );
562
+ expect(
563
+ await getActualTemplateFile(
564
+ 'testExisting_asset_templatebasedemail',
565
+ 'asset',
566
+ 'message',
567
+ 'amp',
568
+ 'views.preheader.content'
569
+ )
570
+ ).to.equal(
571
+ await testUtils.getExpectedFile(
572
+ '9999999',
573
+ 'asset',
574
+ 'template-templatebasedemail-preheader',
575
+ 'amp'
576
+ )
577
+ );
578
+
579
+ // testExisting_asset_template
580
+ assert.deepEqual(
581
+ await getActualTemplateJson('testExisting_asset_template', 'asset', 'template'),
582
+ await testUtils.getExpectedJson('9999999', 'asset', 'template-emailTemplate'),
583
+ 'returned template JSON of buildTemplate was not equal expected'
584
+ );
585
+
586
+ // testExisting_asset_htmlblock
587
+ assert.deepEqual(
588
+ await getActualTemplateJson('testExisting_asset_htmlblock', 'asset', 'block'),
589
+ await testUtils.getExpectedJson(
590
+ '9999999',
591
+ 'asset',
592
+ 'template-testExisting_asset_htmlblock'
593
+ ),
594
+ 'returned template JSON of buildTemplate was not equal expected'
595
+ );
596
+
597
+ assert.equal(
598
+ testUtils.getAPIHistoryLength() - expectedApiCallsRetrieve,
599
+ 4,
600
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
601
+ );
602
+ return;
603
+ });
466
604
  });
467
605
 
468
606
  describe('Delete ================', () => {
@@ -492,7 +630,6 @@ describe('type: asset', () => {
492
630
  assert.equal(process.exitCode, 0, 'resolveId should not have thrown an error');
493
631
  assert.deepEqual(
494
632
  resolveIdJson,
495
- // @ts-expect-error bad typing of assert.deepEqual
496
633
  await testUtils.getExpectedJson('9999999', 'asset', 'resolveId-1295064-noPath'),
497
634
  'returned response was not equal expected'
498
635
  );
@@ -510,7 +647,11 @@ describe('type: asset', () => {
510
647
 
511
648
  it('Should resolve the id of the item AND find the asset locally', async () => {
512
649
  // prep test by retrieving the file
513
- await handler.retrieve('testInstance/testBU', ['asset-block'], ['mcdev-issue-1157']);
650
+ await handler.retrieve(
651
+ 'testInstance/testBU',
652
+ ['asset-block'],
653
+ ['testExisting_asset_htmlblock']
654
+ );
514
655
  // WHEN
515
656
  const resolveIdJson = await handler.resolveId(
516
657
  'testInstance/testBU',
@@ -521,7 +662,6 @@ describe('type: asset', () => {
521
662
  assert.equal(process.exitCode, 0, 'resolveId should not have thrown an error');
522
663
  assert.deepEqual(
523
664
  resolveIdJson,
524
- // @ts-expect-error bad typing of assert.deepEqual
525
665
  await testUtils.getExpectedJson('9999999', 'asset', 'resolveId-1295064-withPath'),
526
666
  'returned response was not equal expected'
527
667
  );
@@ -536,7 +676,6 @@ describe('type: asset', () => {
536
676
  // IMPORTANT: this will throw a false "TEST-ERROR" but our testing framework currently needs to not find the file to throw a 404
537
677
  assert.deepEqual(
538
678
  resolveIdJson,
539
- // @ts-expect-error bad typing of assert.deepEqual
540
679
  await testUtils.getExpectedJson('9999999', 'asset', 'resolveId-1234-notFound'),
541
680
  'returned response was not equal expected'
542
681
  );
@@ -561,15 +700,19 @@ describe('type: asset', () => {
561
700
  // retrieve result
562
701
  assert.deepEqual(
563
702
  replace['testInstance/testBU'].asset,
564
- ['testExisting_asset_message'],
703
+ [
704
+ 'testExisting_asset_htmlblock',
705
+ 'testExisting_htmlblock1',
706
+ 'testExisting_asset_message',
707
+ ],
565
708
  'should have found the right assets that need updating'
566
709
  );
567
710
  // get results from cache
568
711
  const result = cache.getCache();
569
712
  assert.equal(
570
713
  result.asset ? Object.keys(result.asset).length : 0,
571
- 5,
572
- 'only 5 assets expected'
714
+ 8,
715
+ 'Unexpected number of assets in cache'
573
716
  );
574
717
  // check if conversions happened
575
718
  expect(
@@ -623,7 +766,7 @@ describe('type: asset', () => {
623
766
 
624
767
  assert.equal(
625
768
  testUtils.getAPIHistoryLength(),
626
- 26,
769
+ 23,
627
770
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
628
771
  );
629
772
  return;
@@ -652,8 +795,8 @@ describe('type: asset', () => {
652
795
  const result = cache.getCache();
653
796
  assert.equal(
654
797
  result.asset ? Object.keys(result.asset).length : 0,
655
- 5,
656
- 'only 5 assets expected'
798
+ 8,
799
+ 'Unexpected number of assets in cache'
657
800
  );
658
801
  // check if conversions happened
659
802
  expect(
@@ -707,7 +850,7 @@ describe('type: asset', () => {
707
850
 
708
851
  assert.equal(
709
852
  testUtils.getAPIHistoryLength(),
710
- 26,
853
+ 23,
711
854
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
712
855
  );
713
856
  return;
@@ -729,15 +872,19 @@ describe('type: asset', () => {
729
872
  // retrieve result
730
873
  assert.deepEqual(
731
874
  replace['testInstance/testBU'].asset,
732
- ['testExisting_asset_message'],
875
+ [
876
+ 'testExisting_asset_htmlblock',
877
+ 'testExisting_htmlblock1',
878
+ 'testExisting_asset_message',
879
+ ],
733
880
  'should have found the right assets that need updating'
734
881
  );
735
882
  // get results from cache
736
883
  const result = cache.getCache();
737
884
  assert.equal(
738
885
  result.asset ? Object.keys(result.asset).length : 0,
739
- 5,
740
- 'only 5 assets expected'
886
+ 8,
887
+ 'Unexpected number of assets in cache'
741
888
  );
742
889
  // check if conversions happened
743
890
  expect(
@@ -791,7 +938,7 @@ describe('type: asset', () => {
791
938
 
792
939
  assert.equal(
793
940
  testUtils.getAPIHistoryLength(),
794
- 26,
941
+ 23,
795
942
  'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
796
943
  );
797
944
  return;