apify-test-tools 0.10.1-beta.2 → 0.10.1-beta.4

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 (147) hide show
  1. package/.github/actions/checkout-restore-dependencies/action.yaml +4 -3
  2. package/.github/workflows/public_platform-tests-claude-investigate-and-fix.yaml +7 -2
  3. package/.github/workflows/public_platform-tests.yaml +0 -1
  4. package/.github/workflows-package-version +1 -1
  5. package/CHANGELOG.md +6 -0
  6. package/CONTRIBUTING.md +13 -3
  7. package/README.md +2 -2
  8. package/bin/build-from-local.ts +8 -7
  9. package/bin/build.ts +22 -21
  10. package/bin/diff-changes.ts +11 -10
  11. package/bin/diff-json-schema.ts +14 -12
  12. package/bin/git.ts +89 -47
  13. package/bin/logger.ts +23 -0
  14. package/bin/main.ts +44 -38
  15. package/bin/output.ts +6 -0
  16. package/bin/slack.ts +8 -7
  17. package/bin/test-report.ts +22 -21
  18. package/bin/types.ts +0 -1
  19. package/bin/utils/config/actor-json.ts +84 -0
  20. package/bin/utils/config/load-config.ts +46 -46
  21. package/bin/utils/config/parser.ts +33 -28
  22. package/bin/utils/config/structures/base.ts +7 -0
  23. package/bin/utils/json-file.ts +11 -14
  24. package/bin/utils/path/repo-relative.ts +156 -0
  25. package/bin/utils/path/schema.ts +18 -0
  26. package/bin/utils.ts +63 -44
  27. package/dist/bin/build-from-local.d.ts +1 -1
  28. package/dist/bin/build-from-local.d.ts.map +1 -1
  29. package/dist/bin/build-from-local.js +8 -7
  30. package/dist/bin/build-from-local.js.map +1 -1
  31. package/dist/bin/build.d.ts.map +1 -1
  32. package/dist/bin/build.js +22 -21
  33. package/dist/bin/build.js.map +1 -1
  34. package/dist/bin/diff-changes.d.ts +1 -1
  35. package/dist/bin/diff-changes.d.ts.map +1 -1
  36. package/dist/bin/diff-changes.js +9 -8
  37. package/dist/bin/diff-changes.js.map +1 -1
  38. package/dist/bin/diff-json-schema.d.ts +1 -1
  39. package/dist/bin/diff-json-schema.d.ts.map +1 -1
  40. package/dist/bin/diff-json-schema.js +13 -12
  41. package/dist/bin/diff-json-schema.js.map +1 -1
  42. package/dist/bin/git.d.ts +10 -10
  43. package/dist/bin/git.d.ts.map +1 -1
  44. package/dist/bin/git.js +78 -37
  45. package/dist/bin/git.js.map +1 -1
  46. package/dist/bin/logger.d.ts +11 -0
  47. package/dist/bin/logger.d.ts.map +1 -0
  48. package/dist/bin/logger.js +20 -0
  49. package/dist/bin/logger.js.map +1 -0
  50. package/dist/bin/main.d.ts +1 -1
  51. package/dist/bin/main.js +44 -38
  52. package/dist/bin/main.js.map +1 -1
  53. package/dist/bin/output.d.ts +3 -0
  54. package/dist/bin/output.d.ts.map +1 -0
  55. package/dist/bin/output.js +6 -0
  56. package/dist/bin/output.js.map +1 -0
  57. package/dist/bin/slack.d.ts.map +1 -1
  58. package/dist/bin/slack.js +8 -7
  59. package/dist/bin/slack.js.map +1 -1
  60. package/dist/bin/test-report.d.ts.map +1 -1
  61. package/dist/bin/test-report.js +22 -21
  62. package/dist/bin/test-report.js.map +1 -1
  63. package/dist/bin/types.d.ts +0 -1
  64. package/dist/bin/types.d.ts.map +1 -1
  65. package/dist/bin/utils/config/actor-json.d.ts +14 -0
  66. package/dist/bin/utils/config/actor-json.d.ts.map +1 -0
  67. package/dist/bin/utils/config/actor-json.js +60 -0
  68. package/dist/bin/utils/config/actor-json.js.map +1 -0
  69. package/dist/bin/utils/config/load-config.d.ts +12 -2
  70. package/dist/bin/utils/config/load-config.d.ts.map +1 -1
  71. package/dist/bin/utils/config/load-config.js +32 -31
  72. package/dist/bin/utils/config/load-config.js.map +1 -1
  73. package/dist/bin/utils/config/parser.d.ts +4 -12
  74. package/dist/bin/utils/config/parser.d.ts.map +1 -1
  75. package/dist/bin/utils/config/parser.js +24 -23
  76. package/dist/bin/utils/config/parser.js.map +1 -1
  77. package/dist/bin/utils/config/structures/base.d.ts +5 -0
  78. package/dist/bin/utils/config/structures/base.d.ts.map +1 -1
  79. package/dist/bin/utils/config/structures/base.js.map +1 -1
  80. package/dist/bin/utils/json-file.d.ts +3 -2
  81. package/dist/bin/utils/json-file.d.ts.map +1 -1
  82. package/dist/bin/utils/json-file.js +8 -13
  83. package/dist/bin/utils/json-file.js.map +1 -1
  84. package/dist/bin/utils/path/repo-relative.d.ts +35 -0
  85. package/dist/bin/utils/path/repo-relative.d.ts.map +1 -0
  86. package/dist/bin/utils/path/repo-relative.js +137 -0
  87. package/dist/bin/utils/path/repo-relative.js.map +1 -0
  88. package/dist/bin/utils/path/schema.d.ts +7 -0
  89. package/dist/bin/utils/path/schema.d.ts.map +1 -0
  90. package/dist/bin/utils/path/schema.js +16 -0
  91. package/dist/bin/utils/path/schema.js.map +1 -0
  92. package/dist/bin/utils.d.ts +14 -6
  93. package/dist/bin/utils.d.ts.map +1 -1
  94. package/dist/bin/utils.js +52 -36
  95. package/dist/bin/utils.js.map +1 -1
  96. package/dist/test/unit/bin/build-from-local.test.js +4 -40
  97. package/dist/test/unit/bin/build-from-local.test.js.map +1 -1
  98. package/dist/test/unit/bin/diff-changes.test.js +97 -96
  99. package/dist/test/unit/bin/diff-changes.test.js.map +1 -1
  100. package/dist/test/unit/bin/diff.test.js +52 -48
  101. package/dist/test/unit/bin/diff.test.js.map +1 -1
  102. package/dist/test/unit/bin/git-command.test.d.ts +2 -0
  103. package/dist/test/unit/bin/git-command.test.d.ts.map +1 -0
  104. package/dist/test/unit/bin/git-command.test.js +54 -0
  105. package/dist/test/unit/bin/git-command.test.js.map +1 -0
  106. package/dist/test/unit/bin/git.test.js +211 -94
  107. package/dist/test/unit/bin/git.test.js.map +1 -1
  108. package/dist/test/unit/bin/logger.test.d.ts +2 -0
  109. package/dist/test/unit/bin/logger.test.d.ts.map +1 -0
  110. package/dist/test/unit/bin/logger.test.js +44 -0
  111. package/dist/test/unit/bin/logger.test.js.map +1 -0
  112. package/dist/test/unit/bin/logging.test.d.ts +2 -0
  113. package/dist/test/unit/bin/logging.test.d.ts.map +1 -0
  114. package/dist/test/unit/bin/logging.test.js +43 -0
  115. package/dist/test/unit/bin/logging.test.js.map +1 -0
  116. package/dist/test/unit/bin/utils/config/load-config.test.js +47 -25
  117. package/dist/test/unit/bin/utils/config/load-config.test.js.map +1 -1
  118. package/dist/test/unit/bin/utils/config/parser.test.js +64 -19
  119. package/dist/test/unit/bin/utils/config/parser.test.js.map +1 -1
  120. package/dist/test/unit/bin/utils/files.test.js +16 -27
  121. package/dist/test/unit/bin/utils/files.test.js.map +1 -1
  122. package/dist/test/unit/bin/utils/path/repo-relative.test.d.ts +2 -0
  123. package/dist/test/unit/bin/utils/path/repo-relative.test.d.ts.map +1 -0
  124. package/dist/test/unit/bin/utils/path/repo-relative.test.js +196 -0
  125. package/dist/test/unit/bin/utils/path/repo-relative.test.js.map +1 -0
  126. package/dist/test/unit/bin/utils/path/schema.test.d.ts +2 -0
  127. package/dist/test/unit/bin/utils/path/schema.test.d.ts.map +1 -0
  128. package/dist/test/unit/bin/utils/path/schema.test.js +52 -0
  129. package/dist/test/unit/bin/utils/path/schema.test.js.map +1 -0
  130. package/dist/test/unit/should-built-and-test.test.js +40 -38
  131. package/dist/test/unit/should-built-and-test.test.js.map +1 -1
  132. package/dist/tsconfig.tsbuildinfo +1 -1
  133. package/eslint.config.mjs +9 -1
  134. package/package.json +5 -5
  135. package/test/unit/bin/build-from-local.test.ts +4 -54
  136. package/test/unit/bin/diff-changes.test.ts +97 -96
  137. package/test/unit/bin/diff.test.ts +53 -48
  138. package/test/unit/bin/git-command.test.ts +71 -0
  139. package/test/unit/bin/git.test.ts +246 -91
  140. package/test/unit/bin/logger.test.ts +55 -0
  141. package/test/unit/bin/logging.test.ts +52 -0
  142. package/test/unit/bin/utils/config/load-config.test.ts +63 -26
  143. package/test/unit/bin/utils/config/parser.test.ts +81 -27
  144. package/test/unit/bin/utils/files.test.ts +19 -33
  145. package/test/unit/bin/utils/path/repo-relative.test.ts +250 -0
  146. package/test/unit/bin/utils/path/schema.test.ts +65 -0
  147. package/test/unit/should-built-and-test.test.ts +40 -38
@@ -2,6 +2,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
2
2
  import { getChangedActors } from '../../../bin/diff-changes.js';
3
3
  import * as DiffJsonSchema from '../../../bin/diff-json-schema.js';
4
4
  import * as Dockerignore from '../../../bin/dockerignore.js';
5
+ import { logger } from '../../../bin/logger.js';
5
6
  const miniActor = {
6
7
  actorFullName: 'foo/bar',
7
8
  folder: 'actors/foo_bar',
@@ -27,29 +28,29 @@ const amazonActor = {
27
28
  const commits = [{ sha: 'Commit1', author: '', date: '', message: '' }];
28
29
  describe('getChangedActors', () => {
29
30
  beforeEach(() => {
30
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(false);
31
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(false);
31
32
  });
32
- it('returns empty array when no files changed', () => {
33
- expect(getChangedActors({ filepathsChanged: [], actorConfigs, commits })).toEqual([]);
33
+ it('returns empty array when no files changed', async () => {
34
+ expect(await getChangedActors({ filepathsChanged: [], actorConfigs, commits })).toEqual([]);
34
35
  });
35
- it('returns empty array when only ignored top-level files changed', () => {
36
- const result = getChangedActors({
36
+ it('returns empty array when only ignored top-level files changed', async () => {
37
+ const result = await getChangedActors({
37
38
  filepathsChanged: ['.gitignore', 'README.md', '.husky/pre-commit', '.vscode/settings.json'],
38
39
  actorConfigs,
39
40
  commits,
40
41
  });
41
42
  expect(result).toEqual([]);
42
43
  });
43
- it('returns the actor when a functional file in its folder changes', () => {
44
- const result = getChangedActors({
44
+ it('returns the actor when a functional file in its folder changes', async () => {
45
+ const result = await getChangedActors({
45
46
  filepathsChanged: ['actors/foo_bar/src/main.ts'],
46
47
  actorConfigs,
47
48
  commits,
48
49
  });
49
50
  expect(result).toEqual([miniActor]);
50
51
  });
51
- it('returns actor when isLatest and README in actor folder changed (cosmetic)', () => {
52
- const result = getChangedActors({
52
+ it('returns actor when isLatest and README in actor folder changed (cosmetic)', async () => {
53
+ const result = await getChangedActors({
53
54
  filepathsChanged: ['actors/foo_bar/README.md'],
54
55
  actorConfigs,
55
56
  commits,
@@ -57,8 +58,8 @@ describe('getChangedActors', () => {
57
58
  });
58
59
  expect(result).toEqual([miniActor]);
59
60
  });
60
- it('does not return actor when not isLatest and only README changed (cosmetic)', () => {
61
- const result = getChangedActors({
61
+ it('does not return actor when not isLatest and only README changed (cosmetic)', async () => {
62
+ const result = await getChangedActors({
62
63
  filepathsChanged: ['actors/foo_bar/README.md'],
63
64
  actorConfigs,
64
65
  commits,
@@ -66,9 +67,9 @@ describe('getChangedActors', () => {
66
67
  });
67
68
  expect(result).toEqual([]);
68
69
  });
69
- it('returns actor when isLatest and JSON file has only cosmetic changes', () => {
70
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(true);
71
- const result = getChangedActors({
70
+ it('returns actor when isLatest and JSON file has only cosmetic changes', async () => {
71
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(true);
72
+ const result = await getChangedActors({
72
73
  filepathsChanged: ['actors/foo_bar/.actor/actor.json'],
73
74
  actorConfigs,
74
75
  commits,
@@ -76,9 +77,9 @@ describe('getChangedActors', () => {
76
77
  });
77
78
  expect(result).toEqual([miniActor]);
78
79
  });
79
- it('does not return actor when not isLatest and JSON file has only cosmetic changes', () => {
80
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(true);
81
- const result = getChangedActors({
80
+ it('does not return actor when not isLatest and JSON file has only cosmetic changes', async () => {
81
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(true);
82
+ const result = await getChangedActors({
82
83
  filepathsChanged: ['actors/foo_bar/.actor/actor.json'],
83
84
  actorConfigs,
84
85
  commits,
@@ -86,18 +87,18 @@ describe('getChangedActors', () => {
86
87
  });
87
88
  expect(result).toEqual([]);
88
89
  });
89
- it('returns actor when JSON file has functional changes', () => {
90
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(false);
91
- const result = getChangedActors({
90
+ it('returns actor when JSON file has functional changes', async () => {
91
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(false);
92
+ const result = await getChangedActors({
92
93
  filepathsChanged: ['actors/foo_bar/.actor/actor.json'],
93
94
  actorConfigs,
94
95
  commits,
95
96
  });
96
97
  expect(result).toEqual([miniActor]);
97
98
  });
98
- it('JSON file in actor folder but outside .actor/ is functional, not checked for cosmetic', () => {
99
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(true);
100
- const result = getChangedActors({
99
+ it('JSON file in actor folder but outside .actor/ is functional, not checked for cosmetic', async () => {
100
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(true);
101
+ const result = await getChangedActors({
101
102
  filepathsChanged: ['actors/foo_bar/package.json'],
102
103
  actorConfigs,
103
104
  commits,
@@ -106,9 +107,9 @@ describe('getChangedActors', () => {
106
107
  expect(result).toEqual([miniActor]);
107
108
  expect(DiffJsonSchema.isCosmeticOnlyJsonSchemaChange).not.toHaveBeenCalled();
108
109
  });
109
- it('JSON file under .actor/ inside actor folder is checked for cosmetic changes', () => {
110
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(true);
111
- const result = getChangedActors({
110
+ it('JSON file under .actor/ inside actor folder is checked for cosmetic changes', async () => {
111
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(true);
112
+ const result = await getChangedActors({
112
113
  filepathsChanged: ['actors/foo_bar/.actor/input_schema.json'],
113
114
  actorConfigs,
114
115
  commits,
@@ -116,8 +117,8 @@ describe('getChangedActors', () => {
116
117
  });
117
118
  expect(result).toEqual([miniActor]);
118
119
  });
119
- it('does not trigger narrow-context actor when shared file changes', () => {
120
- const result = getChangedActors({
120
+ it('does not trigger narrow-context actor when shared file changes', async () => {
121
+ const result = await getChangedActors({
121
122
  filepathsChanged: ['shared/utils.ts'],
122
123
  actorConfigs,
123
124
  commits,
@@ -125,8 +126,8 @@ describe('getChangedActors', () => {
125
126
  expect(result).toContainEqual(miniActor);
126
127
  expect(result).not.toContainEqual(standaloneActor);
127
128
  });
128
- it('root-level changelog outside any actor folder is cosmetic for every actor when isLatest', () => {
129
- const result = getChangedActors({
129
+ it('root-level changelog outside any actor folder is cosmetic for every actor when isLatest', async () => {
130
+ const result = await getChangedActors({
130
131
  filepathsChanged: ['CHANGELOG.md'],
131
132
  actorConfigs,
132
133
  commits,
@@ -135,8 +136,8 @@ describe('getChangedActors', () => {
135
136
  expect(result).toEqual(expect.arrayContaining([miniActor, standaloneActor]));
136
137
  expect(result).toHaveLength(2);
137
138
  });
138
- it('root-level changelog is not cosmetic-triggered when not isLatest', () => {
139
- const result = getChangedActors({
139
+ it('root-level changelog is not cosmetic-triggered when not isLatest', async () => {
140
+ const result = await getChangedActors({
140
141
  filepathsChanged: ['CHANGELOG.md'],
141
142
  actorConfigs,
142
143
  commits,
@@ -144,16 +145,16 @@ describe('getChangedActors', () => {
144
145
  });
145
146
  expect(result).toEqual([]);
146
147
  });
147
- it('triggers narrow-context actor when its own folder changes', () => {
148
- const result = getChangedActors({
148
+ it('triggers narrow-context actor when its own folder changes', async () => {
149
+ const result = await getChangedActors({
149
150
  filepathsChanged: ['standalone-actors/standalone/src/main.ts'],
150
151
  actorConfigs,
151
152
  commits,
152
153
  });
153
154
  expect(result).toContainEqual(standaloneActor);
154
155
  });
155
- it('deduplicates actors when multiple files in same actor folder change', () => {
156
- const result = getChangedActors({
156
+ it('deduplicates actors when multiple files in same actor folder change', async () => {
157
+ const result = await getChangedActors({
157
158
  filepathsChanged: ['actors/foo_bar/src/main.ts', 'actors/foo_bar/package.json'],
158
159
  actorConfigs,
159
160
  commits,
@@ -161,8 +162,8 @@ describe('getChangedActors', () => {
161
162
  expect(result).toHaveLength(1);
162
163
  expect(result).toContainEqual(miniActor);
163
164
  });
164
- it('handles mixed changes: returns both broad and narrow-context actors', () => {
165
- const result = getChangedActors({
165
+ it('handles mixed changes: returns both broad and narrow-context actors', async () => {
166
+ const result = await getChangedActors({
166
167
  filepathsChanged: ['actors/foo_bar/src/main.ts', 'standalone-actors/standalone/Dockerfile'],
167
168
  actorConfigs,
168
169
  commits,
@@ -170,7 +171,7 @@ describe('getChangedActors', () => {
170
171
  expect(result).toContainEqual(miniActor);
171
172
  expect(result).toContainEqual(standaloneActor);
172
173
  });
173
- it('matches folder where folder name differs from actor name', () => {
174
+ it('matches folder where folder name differs from actor name', async () => {
174
175
  const ownerlessActor = {
175
176
  actorFullName: 'myteam/shopify-scraper',
176
177
  folder: 'actors/shopify',
@@ -178,14 +179,14 @@ describe('getChangedActors', () => {
178
179
  dockerContextDir: '',
179
180
  contextPaths: [''],
180
181
  };
181
- const result = getChangedActors({
182
+ const result = await getChangedActors({
182
183
  filepathsChanged: ['actors/shopify/src/main.ts'],
183
184
  actorConfigs: [ownerlessActor],
184
185
  commits,
185
186
  });
186
187
  expect(result).toEqual([ownerlessActor]);
187
188
  });
188
- it('in single-actor repo, .actor/ changes trigger builds', () => {
189
+ it('in single-actor repo, .actor/ changes trigger builds', async () => {
189
190
  const rootActor = {
190
191
  actorFullName: 'myteam/my-actor',
191
192
  folder: '',
@@ -193,30 +194,30 @@ describe('getChangedActors', () => {
193
194
  dockerContextDir: '',
194
195
  contextPaths: [''],
195
196
  };
196
- const result = getChangedActors({
197
+ const result = await getChangedActors({
197
198
  filepathsChanged: ['.actor/actor.json'],
198
199
  actorConfigs: [rootActor],
199
200
  commits,
200
201
  });
201
202
  expect(result).toEqual([rootActor]);
202
203
  });
203
- it('in multi-actor repo, .actor/ changes only trigger broad-context actors', () => {
204
- const result = getChangedActors({
204
+ it('in multi-actor repo, .actor/ changes only trigger broad-context actors', async () => {
205
+ const result = await getChangedActors({
205
206
  filepathsChanged: ['.actor/actor.json'],
206
207
  actorConfigs,
207
208
  commits,
208
209
  });
209
210
  expect(result).toEqual([miniActor]);
210
211
  });
211
- it('file paths are matched case-insensitively', () => {
212
- const result = getChangedActors({
212
+ it('file paths are matched case-insensitively', async () => {
213
+ const result = await getChangedActors({
213
214
  filepathsChanged: ['Actors/FOO_BAR/Main.ts'],
214
215
  actorConfigs,
215
216
  commits,
216
217
  });
217
218
  expect(result).toEqual([miniActor]);
218
219
  });
219
- it('triggers actor with contextPaths override when file matches an override path', () => {
220
+ it('triggers actor with contextPaths override when file matches an override path', async () => {
220
221
  const overrideActor = {
221
222
  actorFullName: 'team/override-actor',
222
223
  folder: 'actors/override',
@@ -224,14 +225,14 @@ describe('getChangedActors', () => {
224
225
  dockerContextDir: 'actors/override',
225
226
  contextPaths: ['actors/override', 'packages'],
226
227
  };
227
- const result = getChangedActors({
228
+ const result = await getChangedActors({
228
229
  filepathsChanged: ['packages/shared/utils.ts'],
229
230
  actorConfigs: [overrideActor],
230
231
  commits,
231
232
  });
232
233
  expect(result).toEqual([overrideActor]);
233
234
  });
234
- it('does not trigger actor with contextPaths override when file is outside all override paths', () => {
235
+ it('does not trigger actor with contextPaths override when file is outside all override paths', async () => {
235
236
  const overrideActor = {
236
237
  actorFullName: 'team/override-actor',
237
238
  folder: 'actors/override',
@@ -239,14 +240,14 @@ describe('getChangedActors', () => {
239
240
  dockerContextDir: 'actors/override',
240
241
  contextPaths: ['actors/override', 'packages'],
241
242
  };
242
- const result = getChangedActors({
243
+ const result = await getChangedActors({
243
244
  filepathsChanged: ['other-dir/file.ts'],
244
245
  actorConfigs: [overrideActor],
245
246
  commits,
246
247
  });
247
248
  expect(result).toEqual([]);
248
249
  });
249
- it('broad-context actor skips files in sibling actor folders', () => {
250
+ it('broad-context actor skips files in sibling actor folders', async () => {
250
251
  const actorA = {
251
252
  actorFullName: 'team/actor-a',
252
253
  folder: 'actors/a',
@@ -261,14 +262,14 @@ describe('getChangedActors', () => {
261
262
  dockerContextDir: '',
262
263
  contextPaths: [''],
263
264
  };
264
- const result = getChangedActors({
265
+ const result = await getChangedActors({
265
266
  filepathsChanged: ['actors/b/src/main.ts'],
266
267
  actorConfigs: [actorA, actorB],
267
268
  commits,
268
269
  });
269
270
  expect(result).toEqual([actorB]);
270
271
  });
271
- it('root actor (folder="") is excluded from sibling actor folder files', () => {
272
+ it('root actor (folder="") is excluded from sibling actor folder files', async () => {
272
273
  const rootActor = {
273
274
  actorFullName: 'team/root',
274
275
  folder: '',
@@ -283,7 +284,7 @@ describe('getChangedActors', () => {
283
284
  dockerContextDir: 'actors/child',
284
285
  contextPaths: ['actors/child'],
285
286
  };
286
- const result = getChangedActors({
287
+ const result = await getChangedActors({
287
288
  filepathsChanged: ['actors/child/src/main.ts'],
288
289
  actorConfigs: [rootActor, childActor],
289
290
  commits,
@@ -291,7 +292,7 @@ describe('getChangedActors', () => {
291
292
  expect(result).not.toContainEqual(rootActor);
292
293
  expect(result).toContainEqual(childActor);
293
294
  });
294
- it('root actor (folder="") sees files outside any actor folder', () => {
295
+ it('root actor (folder="") sees files outside any actor folder', async () => {
295
296
  const rootActor = {
296
297
  actorFullName: 'team/root',
297
298
  folder: '',
@@ -306,7 +307,7 @@ describe('getChangedActors', () => {
306
307
  dockerContextDir: 'actors/child',
307
308
  contextPaths: ['actors/child'],
308
309
  };
309
- const result = getChangedActors({
310
+ const result = await getChangedActors({
310
311
  filepathsChanged: ['lib/shared-utils.ts'],
311
312
  actorConfigs: [rootActor, childActor],
312
313
  commits,
@@ -314,35 +315,35 @@ describe('getChangedActors', () => {
314
315
  expect(result).toContainEqual(rootActor);
315
316
  expect(result).not.toContainEqual(childActor);
316
317
  });
317
- it('file matched by .dockerignore is treated as ignored', () => {
318
+ it('file matched by .dockerignore is treated as ignored', async () => {
318
319
  vi.spyOn(Dockerignore, 'loadDockerIgnore').mockReturnValue((filePath) => filePath === 'actors/foo_bar/node_modules/foo.js');
319
- const result = getChangedActors({
320
+ const result = await getChangedActors({
320
321
  filepathsChanged: ['actors/foo_bar/node_modules/foo.js'],
321
322
  actorConfigs: [miniActor],
322
323
  commits,
323
324
  });
324
325
  expect(result).toEqual([]);
325
326
  });
326
- it('file not matched by .dockerignore is classified normally', () => {
327
+ it('file not matched by .dockerignore is classified normally', async () => {
327
328
  vi.spyOn(Dockerignore, 'loadDockerIgnore').mockReturnValue((filePath) => filePath.includes('node_modules'));
328
- const result = getChangedActors({
329
+ const result = await getChangedActors({
329
330
  filepathsChanged: ['actors/foo_bar/src/main.ts'],
330
331
  actorConfigs: [miniActor],
331
332
  commits,
332
333
  });
333
334
  expect(result).toEqual([miniActor]);
334
335
  });
335
- it('JSON file in context but outside actor folder is functional (not checked for cosmetic)', () => {
336
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(true);
337
- const result = getChangedActors({
336
+ it('JSON file in context but outside actor folder is functional (not checked for cosmetic)', async () => {
337
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(true);
338
+ const result = await getChangedActors({
338
339
  filepathsChanged: ['lib/config.json'],
339
340
  actorConfigs: [miniActor],
340
341
  commits,
341
342
  });
342
343
  expect(result).toEqual([miniActor]);
343
344
  });
344
- it('README outside actor folder but inside context is ignored (not cosmetic)', () => {
345
- const result = getChangedActors({
345
+ it('README outside actor folder but inside context is ignored (not cosmetic)', async () => {
346
+ const result = await getChangedActors({
346
347
  filepathsChanged: ['docs/README.md'],
347
348
  actorConfigs: [miniActor],
348
349
  commits,
@@ -350,8 +351,8 @@ describe('getChangedActors', () => {
350
351
  });
351
352
  expect(result).toEqual([]);
352
353
  });
353
- it('README inside actor folder is cosmetic', () => {
354
- const result = getChangedActors({
354
+ it('README inside actor folder is cosmetic', async () => {
355
+ const result = await getChangedActors({
355
356
  filepathsChanged: ['actors/foo_bar/README.md'],
356
357
  actorConfigs: [miniActor],
357
358
  commits,
@@ -359,40 +360,40 @@ describe('getChangedActors', () => {
359
360
  });
360
361
  expect(result).toEqual([miniActor]);
361
362
  });
362
- it('hoists a standalone actor own top-level dev file relative to its context before checking the ignore list', () => {
363
- const result = getChangedActors({
363
+ it('hoists a standalone actor own top-level dev file relative to its context before checking the ignore list', async () => {
364
+ const result = await getChangedActors({
364
365
  filepathsChanged: ['standalone-actors/standalone/.eslintrc'],
365
366
  actorConfigs,
366
367
  commits,
367
368
  });
368
369
  expect(result).toEqual([]);
369
370
  });
370
- it('does not special-case code/ and shared/ prefixes anymore — must be declared via overrideActorContext', () => {
371
- const result = getChangedActors({
371
+ it('does not special-case code/ and shared/ prefixes anymore — must be declared via overrideActorContext', async () => {
372
+ const result = await getChangedActors({
372
373
  filepathsChanged: ['code/.eslintrc'],
373
374
  actorConfigs: [miniActor],
374
375
  commits,
375
376
  });
376
377
  expect(result).toEqual([miniActor]);
377
378
  });
378
- it('ignores code/.eslintrc when "code" is declared via overrideActorContext', () => {
379
- const result = getChangedActors({
379
+ it('ignores code/.eslintrc when "code" is declared via overrideActorContext', async () => {
380
+ const result = await getChangedActors({
380
381
  filepathsChanged: ['code/.eslintrc'],
381
382
  actorConfigs: [amazonActor],
382
383
  commits,
383
384
  });
384
385
  expect(result).toEqual([]);
385
386
  });
386
- it('shared/Dockerfile declared via overrideActorContext is functional', () => {
387
- const result = getChangedActors({
387
+ it('shared/Dockerfile declared via overrideActorContext is functional', async () => {
388
+ const result = await getChangedActors({
388
389
  filepathsChanged: ['shared/Dockerfile'],
389
390
  actorConfigs: [amazonActor],
390
391
  commits,
391
392
  });
392
393
  expect(result).toEqual([amazonActor]);
393
394
  });
394
- it('code/README.md declared via overrideActorContext is ignored (outside actor folder)', () => {
395
- const result = getChangedActors({
395
+ it('code/README.md declared via overrideActorContext is ignored (outside actor folder)', async () => {
396
+ const result = await getChangedActors({
396
397
  filepathsChanged: ['code/README.md'],
397
398
  actorConfigs: [amazonActor],
398
399
  commits,
@@ -403,19 +404,19 @@ describe('getChangedActors', () => {
403
404
  });
404
405
  describe('getChangedActors logging', () => {
405
406
  beforeEach(() => {
406
- vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(false);
407
- vi.spyOn(console, 'error').mockImplementation(() => undefined);
407
+ vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockResolvedValue(false);
408
+ vi.spyOn(logger, 'info').mockImplementation(() => undefined);
408
409
  });
409
- it('logs a single "specific" group for a single actor with one functional file', () => {
410
- getChangedActors({
410
+ it('logs a single "specific" group for a single actor with one functional file', async () => {
411
+ await getChangedActors({
411
412
  filepathsChanged: ['actors/foo_bar/src/main.ts'],
412
413
  actorConfigs: [miniActor],
413
414
  commits,
414
415
  });
415
- expect(console.error).toHaveBeenCalledWith('[DIFF]: Changes specific to actor foo/bar: actors/foo_bar/src/main.ts');
416
- expect(console.error).toHaveBeenCalledWith('[DIFF]: Actors to be built and tested: foo/bar');
416
+ expect(logger.info).toHaveBeenCalledWith('[DIFF]: Changes specific to actor foo/bar: actors/foo_bar/src/main.ts');
417
+ expect(logger.info).toHaveBeenCalledWith('[DIFF]: Actors to be built and tested: foo/bar');
417
418
  });
418
- it('logs a single "shared" group when two actors are triggered by the exact same file', () => {
419
+ it('logs a single "shared" group when two actors are triggered by the exact same file', async () => {
419
420
  const actorA = {
420
421
  actorFullName: 'team/actor-a',
421
422
  folder: 'actors/a',
@@ -430,16 +431,16 @@ describe('getChangedActors logging', () => {
430
431
  dockerContextDir: '',
431
432
  contextPaths: ['', 'shared'],
432
433
  };
433
- getChangedActors({
434
+ await getChangedActors({
434
435
  filepathsChanged: ['shared/shared.ts'],
435
436
  actorConfigs: [actorA, actorB],
436
437
  commits,
437
438
  });
438
- expect(console.error).toHaveBeenCalledWith('[DIFF]: Shared changes for actors team/actor-a, team/actor-b: shared/shared.ts');
439
- expect(console.error).not.toHaveBeenCalledWith(expect.stringContaining('Changes specific to actor'));
440
- expect(console.error).toHaveBeenCalledWith('[DIFF]: Actors to be built and tested: team/actor-a, team/actor-b');
439
+ expect(logger.info).toHaveBeenCalledWith('[DIFF]: Shared changes for actors team/actor-a, team/actor-b: shared/shared.ts');
440
+ expect(logger.info).not.toHaveBeenCalledWith(expect.stringContaining('Changes specific to actor'));
441
+ expect(logger.info).toHaveBeenCalledWith('[DIFF]: Actors to be built and tested: team/actor-a, team/actor-b');
441
442
  });
442
- it('logs shared and specific groups in descending-size order for partial overlap across actors', () => {
443
+ it('logs shared and specific groups in descending-size order for partial overlap across actors', async () => {
443
444
  const actorA = {
444
445
  actorFullName: 'team/actor-a',
445
446
  folder: 'actors/a',
@@ -454,12 +455,12 @@ describe('getChangedActors logging', () => {
454
455
  dockerContextDir: '',
455
456
  contextPaths: [''],
456
457
  };
457
- getChangedActors({
458
+ await getChangedActors({
458
459
  filepathsChanged: ['shared.ts', 'actors/a/a-only.ts', 'actors/b/b-only.ts'],
459
460
  actorConfigs: [actorA, actorB],
460
461
  commits,
461
462
  });
462
- const errorCalls = console.error.mock.calls.map((call) => call[0]);
463
+ const errorCalls = logger.info.mock.calls.map((call) => call[0]);
463
464
  expect(errorCalls).toEqual([
464
465
  '[DIFF]: Shared changes for actors team/actor-a, team/actor-b: shared.ts',
465
466
  '[DIFF]: Changes specific to actor team/actor-a: actors/a/a-only.ts',
@@ -467,15 +468,15 @@ describe('getChangedActors logging', () => {
467
468
  '[DIFF]: Actors to be built and tested: team/actor-a, team/actor-b',
468
469
  ]);
469
470
  });
470
- it('logs no group lines when zero actors changed', () => {
471
- getChangedActors({
471
+ it('logs no group lines when zero actors changed', async () => {
472
+ await getChangedActors({
472
473
  filepathsChanged: ['.gitignore', 'README.md'],
473
474
  actorConfigs,
474
475
  commits,
475
476
  });
476
- expect(console.error).not.toHaveBeenCalledWith(expect.stringContaining('Shared changes'));
477
- expect(console.error).not.toHaveBeenCalledWith(expect.stringContaining('Changes specific to'));
478
- expect(console.error).toHaveBeenCalledWith('[DIFF]: No relevant files changed, skipping builds and tests');
477
+ expect(logger.info).not.toHaveBeenCalledWith(expect.stringContaining('Shared changes'));
478
+ expect(logger.info).not.toHaveBeenCalledWith(expect.stringContaining('Changes specific to'));
479
+ expect(logger.info).toHaveBeenCalledWith('[DIFF]: No relevant files changed, skipping builds and tests');
479
480
  });
480
481
  });
481
482
  //# sourceMappingURL=diff-changes.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff-changes.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/diff-changes.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff-changes.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/diff-changes.test.ts"],"names":[],"mappings":"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"}