mcdev 5.0.0 → 5.0.2

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 (68) hide show
  1. package/.eslintrc.json +1 -0
  2. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  3. package/.husky/commit-msg +1 -1
  4. package/.husky/post-checkout +34 -3
  5. package/.husky/post-merge +21 -0
  6. package/.husky/pre-commit +1 -0
  7. package/README.md +1 -1
  8. package/docs/dist/documentation.md +60 -15
  9. package/lib/Deployer.js +0 -1
  10. package/lib/cli.js +8 -8
  11. package/lib/index.js +2 -1
  12. package/lib/metadataTypes/Asset.js +4 -2
  13. package/lib/metadataTypes/Automation.js +39 -28
  14. package/lib/metadataTypes/DataExtension.js +1 -3
  15. package/lib/metadataTypes/DataExtensionField.js +5 -5
  16. package/lib/metadataTypes/Journey.js +11 -10
  17. package/lib/metadataTypes/MetadataType.js +34 -7
  18. package/lib/metadataTypes/MobileKeyword.js +165 -20
  19. package/lib/metadataTypes/MobileMessage.js +20 -28
  20. package/lib/metadataTypes/Role.js +2 -3
  21. package/lib/metadataTypes/TransactionalSMS.js +5 -5
  22. package/lib/metadataTypes/User.js +16 -22
  23. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +19 -7
  24. package/lib/metadataTypes/definitions/MobileMessage.definition.js +50 -8
  25. package/lib/metadataTypes/definitions/User.definition.js +5 -4
  26. package/lib/util/auth.js +13 -1
  27. package/lib/util/cli.js +1 -1
  28. package/lib/util/file.js +5 -3
  29. package/lib/util/util.js +1 -0
  30. package/package.json +9 -9
  31. package/test/mockRoot/.mcdevrc.json +3 -1
  32. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword.mobileKeyword-meta.json → 4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.json} +1 -4
  33. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword_blocked.mobileKeyword-meta.json → 4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.json} +1 -4
  34. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.json +1 -1
  35. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.json +1 -1
  36. package/test/resources/1111111/user/retrieve-expected.md +19 -0
  37. package/test/resources/9999999/dataExtension/retrieve-expected.md +18 -0
  38. package/test/resources/9999999/journey/build-expected.json +1 -1
  39. package/test/resources/9999999/journey/get-expected.json +1 -1
  40. package/test/resources/9999999/journey/put-expected.json +1 -1
  41. package/test/resources/9999999/journey/template-expected.json +1 -1
  42. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/NXV4ZFMwTEFwRVczd3RaLUF5X3p5dzo4Njow/get-response.json +1 -1
  43. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/get-response.json +1 -1
  44. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/get-response.json +1 -1
  45. package/test/resources/9999999/legacy/v1/beta/mobile/message/get-response.json +1 -1
  46. package/test/resources/9999999/messaging/v1/sms/definitions/post-response.json +1 -1
  47. package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/get-response.json +1 -1
  48. package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/patch-response.json +1 -1
  49. package/test/resources/9999999/mobileKeyword/build-expected.json +1 -4
  50. package/test/resources/9999999/mobileKeyword/get-expected.json +1 -4
  51. package/test/resources/9999999/mobileKeyword/post-create-expected.json +1 -4
  52. package/test/resources/9999999/mobileKeyword/template-expected.json +1 -4
  53. package/test/resources/9999999/query/build-expected.sql +1 -1
  54. package/test/resources/9999999/query/get-expected.sql +1 -1
  55. package/test/resources/9999999/query/patch-expected.sql +1 -1
  56. package/test/resources/9999999/query/post-expected.sql +1 -1
  57. package/test/resources/9999999/query/template-expected.sql +1 -1
  58. package/test/resources/9999999/transactionalSMS/build-expected.json +1 -1
  59. package/test/resources/9999999/transactionalSMS/get-expected.json +1 -1
  60. package/test/resources/9999999/transactionalSMS/patch-expected.json +1 -1
  61. package/test/resources/9999999/transactionalSMS/post-expected.json +1 -1
  62. package/test/resources/9999999/transactionalSMS/template-expected.json +1 -1
  63. package/test/type.dataExtension.test.js +13 -1
  64. package/test/type.mobileKeyword.test.js +57 -19
  65. package/test/type.user.test.js +30 -1
  66. package/test/utils.js +10 -0
  67. /package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword.mobileKeyword-meta.amp → 4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.amp} +0 -0
  68. /package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword_blocked.mobileKeyword-meta.amp → 4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.amp} +0 -0
@@ -1,4 +1,9 @@
1
- const assert = require('chai').assert;
1
+ const chai = require('chai');
2
+ const chaiFiles = require('chai-files');
3
+ const assert = chai.assert;
4
+ chai.use(chaiFiles);
5
+ const expect = chai.expect;
6
+ const file = chaiFiles.file;
2
7
  const cache = require('../lib/util/cache');
3
8
  const testUtils = require('./utils');
4
9
  const handler = require('../lib/index');
@@ -29,6 +34,11 @@ describe('type: user', () => {
29
34
 
30
35
  'returned metadata was not equal expected'
31
36
  );
37
+ // check if MD file was created and equals expectations
38
+ expect(file(`./docs/user/testInstance.users.md`)).to.equal(
39
+ file(testUtils.getExpectedFile('1111111', 'user', 'retrieve', 'md'))
40
+ );
41
+
32
42
  assert.equal(
33
43
  testUtils.getAPIHistoryLength(),
34
44
  6,
@@ -36,6 +46,22 @@ describe('type: user', () => {
36
46
  );
37
47
  return;
38
48
  });
49
+ it('Should retrieve a specific user but not run document', async () => {
50
+ // WHEN
51
+ await handler.retrieve('testInstance/_ParentBU_', ['user'], ['testExisting_user']);
52
+ // THEN
53
+ assert.equal(process.exitCode, false, 'retrieve should not have thrown an error');
54
+
55
+ // because user is single-document-type we would not want to find an md file when we retrieve specific keys. only the generic retrieve updates it
56
+ expect(file(`./docs/user/testInstance.users.md`)).to.not.exist;
57
+
58
+ assert.equal(
59
+ testUtils.getAPIHistoryLength(),
60
+ 4,
61
+ 'Unexpected number of requests made. Run testUtils.logAPIHistoryDebug() to see the requests'
62
+ );
63
+ return;
64
+ });
39
65
  });
40
66
  describe('Deploy ================', () => {
41
67
  beforeEach(() => {
@@ -74,6 +100,9 @@ describe('type: user', () => {
74
100
  await testUtils.getExpectedJson('1111111', 'user', 'update'),
75
101
  'returned metadata was not equal expected for update'
76
102
  );
103
+ // because user is single-document-type we would not want to find an md file getting created by deploy. only retrieve updates it
104
+ expect(file(`./docs/user/testInstance.users.md`)).to.not.exist;
105
+
77
106
  assert.equal(
78
107
  testUtils.getAPIHistoryLength(),
79
108
  9,
package/test/utils.js CHANGED
@@ -22,6 +22,16 @@ const resourceFactory = require('./resourceFactory');
22
22
  */
23
23
  exports.getActualJson = (customerKey, type, buName = 'testBU') =>
24
24
  File.readJSON(`./retrieve/testInstance/${buName}/${type}/${customerKey}.${type}-meta.json`);
25
+ /**
26
+ * gets file from Retrieve folder
27
+ *
28
+ * @param {string} customerKey of metadata
29
+ * @param {string} type of metadata
30
+ * @param {string} [buName] used when we need to test on ParentBU
31
+ * @returns {Promise.<string>} file in string form
32
+ */
33
+ exports.getActualDoc = (customerKey, type, buName = 'testBU') =>
34
+ `./retrieve/testInstance/${buName}/${type}/${customerKey}.${type}-doc.md`;
25
35
  /**
26
36
  * gets file from Retrieve folder
27
37
  *