apify-test-tools 0.6.0 → 0.6.1
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.
- package/.github/workflows/_check_code.yaml +17 -19
- package/.github/workflows/_update_release_metadata.yaml +1 -1
- package/.github/workflows/manual_release_stable.yaml +1 -0
- package/.github/workflows/on_master.yaml +2 -0
- package/.husky/pre-commit +13 -0
- package/CHANGELOG.md +11 -3
- package/CONTRIBUTING.md +5 -0
- package/README.md +39 -43
- package/bin/build.ts +138 -87
- package/bin/diff-changes.ts +156 -0
- package/bin/diff-json-schema.ts +50 -0
- package/bin/git.ts +42 -11
- package/bin/github.ts +7 -6
- package/bin/main.ts +21 -11
- package/bin/slack.ts +6 -2
- package/bin/test-report.ts +55 -44
- package/bin/types.ts +56 -59
- package/bin/utils.ts +19 -131
- package/dist/bin/build.d.ts +1 -1
- package/dist/bin/build.d.ts.map +1 -1
- package/dist/bin/build.js +49 -31
- package/dist/bin/build.js.map +1 -1
- package/dist/bin/diff-changes.d.ts +16 -0
- package/dist/bin/diff-changes.d.ts.map +1 -0
- package/dist/bin/diff-changes.js +103 -0
- package/dist/bin/diff-changes.js.map +1 -0
- package/dist/bin/diff-json-schema.d.ts +7 -0
- package/dist/bin/diff-json-schema.d.ts.map +1 -0
- package/dist/bin/diff-json-schema.js +45 -0
- package/dist/bin/diff-json-schema.js.map +1 -0
- package/dist/bin/git.d.ts +8 -3
- package/dist/bin/git.d.ts.map +1 -1
- package/dist/bin/git.js +35 -10
- package/dist/bin/git.js.map +1 -1
- package/dist/bin/github.d.ts +1 -3
- package/dist/bin/github.d.ts.map +1 -1
- package/dist/bin/github.js +5 -5
- package/dist/bin/github.js.map +1 -1
- package/dist/bin/main.js +14 -5
- package/dist/bin/main.js.map +1 -1
- package/dist/bin/slack.d.ts +1 -1
- package/dist/bin/slack.d.ts.map +1 -1
- package/dist/bin/slack.js +1 -1
- package/dist/bin/slack.js.map +1 -1
- package/dist/bin/test-report.d.ts.map +1 -1
- package/dist/bin/test-report.js +9 -3
- package/dist/bin/test-report.js.map +1 -1
- package/dist/bin/types.d.ts +0 -1
- package/dist/bin/types.d.ts.map +1 -1
- package/dist/bin/utils.d.ts +0 -14
- package/dist/bin/utils.d.ts.map +1 -1
- package/dist/bin/utils.js +12 -95
- package/dist/bin/utils.js.map +1 -1
- package/dist/lib/extend-expect.d.ts.map +1 -1
- package/dist/lib/extend-expect.js +11 -11
- package/dist/lib/extend-expect.js.map +1 -1
- package/dist/lib/lib.d.ts +3 -2
- package/dist/lib/lib.d.ts.map +1 -1
- package/dist/lib/lib.js +7 -3
- package/dist/lib/lib.js.map +1 -1
- package/dist/lib/run-test-result.d.ts +1 -1
- package/dist/lib/run-test-result.d.ts.map +1 -1
- package/dist/lib/run-test-result.js.map +1 -1
- package/dist/lib/types.d.ts +2 -3
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +4 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/test/unit/bin/diff-changes.test.d.ts +2 -0
- package/dist/test/unit/bin/diff-changes.test.d.ts.map +1 -0
- package/dist/test/unit/bin/diff-changes.test.js +159 -0
- package/dist/test/unit/bin/diff-changes.test.js.map +1 -0
- package/dist/test/unit/bin/diff.test.d.ts +2 -0
- package/dist/test/unit/bin/diff.test.d.ts.map +1 -0
- package/dist/test/unit/bin/diff.test.js +143 -0
- package/dist/test/unit/bin/diff.test.js.map +1 -0
- package/dist/test/unit/bin/git.test.js +48 -19
- package/dist/test/unit/bin/git.test.js.map +1 -1
- package/dist/test/unit/custom-matchers.test.js +3 -8
- package/dist/test/unit/custom-matchers.test.js.map +1 -1
- package/dist/test/unit/parse-commit.test.js +1 -1
- package/dist/test/unit/parse-commit.test.js.map +1 -1
- package/dist/test/unit/should-built-and-test.test.js +159 -39
- package/dist/test/unit/should-built-and-test.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eslint.config.mjs +4 -2
- package/knip.json +1 -1
- package/lib/extend-expect.ts +21 -21
- package/lib/lib.ts +17 -17
- package/lib/run-test-result.ts +6 -2
- package/lib/types.ts +5 -8
- package/lib/utils.ts +13 -9
- package/package.json +10 -3
- package/test/tsconfig.json +2 -4
- package/test/unit/bin/diff-changes.test.ts +182 -0
- package/test/unit/bin/diff.test.ts +212 -0
- package/test/unit/bin/git.test.ts +59 -20
- package/test/unit/custom-matchers.test.ts +10 -9
- package/test/unit/parse-commit.test.ts +2 -1
- package/test/unit/should-built-and-test.test.ts +181 -40
- package/bin/consts.ts +0 -6
- package/dist/bin/consts.d.ts +0 -4
- package/dist/bin/consts.d.ts.map +0 -1
- package/dist/bin/consts.js +0 -6
- package/dist/bin/consts.js.map +0 -1
- package/example-github-events/pull-request.json +0 -523
- package/example-github-events/push.json +0 -216
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-matchers.test.js","sourceRoot":"","sources":["../../../test/unit/custom-matchers.test.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"custom-matchers.test.js","sourceRoot":"","sources":["../../../test/unit/custom-matchers.test.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D,IAAK,YAIJ;AAJD,WAAK,YAAY;IACb,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,2CAA2B,CAAA;AAC/B,CAAC,EAJI,YAAY,KAAZ,YAAY,QAIhB;AAOD,kHAAkH;AAClH,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;IACxD,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAI,CAAC,CAAC;QACvD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAe;YAC/C,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,YAAY;YACpB,kBAAkB,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACjC,aAAa,EAAE,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAe;YAC/C,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,kBAAkB,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACjC,aAAa,EAAE,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAyC;YACzE,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrC,kBAAkB,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACjC,aAAa,EAAE,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,gBAAgB,CAAC,8BAA8B,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;QAC9F,CAAC;YACG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;gBACvC,KAAK,EAAE;oBACH,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC;oBACzC,WAAW,EAAE,CAAC;oBACd,iBAAiB,EAAE,IAAI;iBAC1B;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;YACvC,KAAK,EAAE;gBACH,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC;gBACzC,WAAW,EAAE,CAAC;gBACd,iBAAiB,EAAE,IAAI;aAC1B;SACJ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-commit.test.js","sourceRoot":"","sources":["../../../test/unit/parse-commit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"parse-commit.test.js","sourceRoot":"","sources":["../../../test/unit/parse-commit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { describe, expect, test } from 'vitest';
|
|
2
|
-
import { getChangedActors } from '../../bin/
|
|
1
|
+
import { beforeEach, describe, expect, test, vi } from 'vitest';
|
|
2
|
+
import { getChangedActors } from '../../bin/diff-changes.js';
|
|
3
|
+
import * as DiffJsonSchema from '../../bin/diff-json-schema.js';
|
|
3
4
|
describe('Should build and test parser', () => {
|
|
4
5
|
// From https://github.com/apify-store/testing-repo-for-github-actions
|
|
5
6
|
const ACTOR_CONFIGS = [
|
|
@@ -19,65 +20,182 @@ describe('Should build and test parser', () => {
|
|
|
19
20
|
isStandalone: true,
|
|
20
21
|
},
|
|
21
22
|
];
|
|
22
|
-
|
|
23
|
+
const commits = [
|
|
24
|
+
{ sha: 'Commit1', author: '', date: '', message: '' },
|
|
25
|
+
{ sha: 'Commit3', author: '', date: '', message: '' },
|
|
26
|
+
];
|
|
27
|
+
let isCosmeticOnlyJsonSchemaSpy;
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
// Default: JSON changes are functional (triggers build/test)
|
|
30
|
+
isCosmeticOnlyJsonSchemaSpy = vi.spyOn(DiffJsonSchema, 'isCosmeticOnlyJsonSchemaChange').mockReturnValue(false);
|
|
31
|
+
});
|
|
32
|
+
test('Ignores dev-only readme', () => {
|
|
23
33
|
const FILES = ['README.md', 'code/README.md', 'shared/README.md'];
|
|
24
|
-
const
|
|
34
|
+
const actorsChanged = getChangedActors({
|
|
35
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
36
|
+
isLatest: false,
|
|
37
|
+
filepathsChanged: FILES,
|
|
38
|
+
commits,
|
|
39
|
+
});
|
|
25
40
|
expect(actorsChanged).toEqual([]);
|
|
26
|
-
expect(codeChanged).toBe(false);
|
|
27
41
|
});
|
|
28
|
-
test('Ignores other ignored files and folders',
|
|
42
|
+
test('Ignores other ignored files and folders', () => {
|
|
29
43
|
const FILES = ['.vscode/', '.gitignore', '.husky/', '.eslintrc', '.editorconfig', '.actor/'];
|
|
30
|
-
const
|
|
44
|
+
const actorsChanged = getChangedActors({
|
|
45
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
46
|
+
isLatest: false,
|
|
47
|
+
filepathsChanged: FILES,
|
|
48
|
+
commits,
|
|
49
|
+
});
|
|
31
50
|
expect(actorsChanged).toEqual([]);
|
|
32
|
-
expect(codeChanged).toBe(false);
|
|
33
51
|
});
|
|
34
|
-
test('Only builds latest for all Actors',
|
|
52
|
+
test('Only builds latest for all Actors', () => {
|
|
35
53
|
const FILES = ['shared/CHANGELOG.md', 'CHANGELOG.md'];
|
|
36
|
-
const
|
|
54
|
+
const actorsChanged = getChangedActors({
|
|
55
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
56
|
+
isLatest: true,
|
|
57
|
+
filepathsChanged: FILES,
|
|
58
|
+
commits,
|
|
59
|
+
});
|
|
37
60
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS.filter(({ isStandalone }) => !isStandalone));
|
|
38
|
-
expect(codeChanged).toBe(false);
|
|
39
61
|
});
|
|
40
|
-
test('Code updated, tests miniactors',
|
|
62
|
+
test('Code updated, tests miniactors', () => {
|
|
41
63
|
const FILES = ['code/src/main.ts', 'package.json'];
|
|
42
|
-
const
|
|
64
|
+
const actorsChanged = getChangedActors({
|
|
65
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
66
|
+
isLatest: false,
|
|
67
|
+
filepathsChanged: FILES,
|
|
68
|
+
commits,
|
|
69
|
+
});
|
|
43
70
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS.filter(({ isStandalone }) => !isStandalone));
|
|
44
|
-
expect(codeChanged).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
test('Specific Actor functionality configs updated', async () => {
|
|
47
|
-
const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json', 'standalone-actors/lukaskrivka_test-standalone/Dockerfile'];
|
|
48
|
-
const { actorsChanged, codeChanged } = await getChangedActors({ actorConfigs: ACTOR_CONFIGS, isLatest: false, filepathsChanged: FILES });
|
|
49
|
-
expect(actorsChanged).toEqual([ACTOR_CONFIGS[0], ACTOR_CONFIGS[2]]);
|
|
50
|
-
expect(codeChanged).toBe(false);
|
|
51
71
|
});
|
|
52
|
-
test('
|
|
72
|
+
test('Specific Actor functionality configs updated', () => {
|
|
53
73
|
const FILES = [
|
|
54
|
-
'
|
|
74
|
+
'actors/lukaskrivka_testing-github-integration-1/.actor/actor.json',
|
|
75
|
+
'standalone-actors/lukaskrivka_test-standalone/Dockerfile',
|
|
55
76
|
];
|
|
56
|
-
|
|
77
|
+
// Default mock returns false = functional change
|
|
78
|
+
const actorsChanged = getChangedActors({
|
|
79
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
80
|
+
isLatest: false,
|
|
81
|
+
filepathsChanged: FILES,
|
|
82
|
+
commits,
|
|
83
|
+
});
|
|
84
|
+
expect(actorsChanged).toEqual([ACTOR_CONFIGS[0], ACTOR_CONFIGS[2]]);
|
|
85
|
+
});
|
|
86
|
+
test('src/main.ts updated', () => {
|
|
87
|
+
const FILES = ['src/main.ts'];
|
|
88
|
+
const actorsChanged = getChangedActors({
|
|
89
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
90
|
+
isLatest: true,
|
|
91
|
+
filepathsChanged: FILES,
|
|
92
|
+
commits,
|
|
93
|
+
});
|
|
57
94
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS.slice(0, 2));
|
|
58
|
-
expect(codeChanged).toBe(false);
|
|
59
95
|
});
|
|
60
|
-
test('Miniactor, Code and standalone actor updated,',
|
|
96
|
+
test('Miniactor, Code and standalone actor updated,', () => {
|
|
61
97
|
const FILES = [
|
|
62
98
|
'actors/lukaskrivka_testing-github-integration-1/.actor/actor.json',
|
|
63
99
|
'code/src/main.ts',
|
|
64
100
|
'standalone-actors/lukaskrivka_test-standalone/Dockerfile',
|
|
65
101
|
];
|
|
66
|
-
|
|
102
|
+
// Default mock returns false = functional change for the JSON file
|
|
103
|
+
const actorsChanged = getChangedActors({
|
|
104
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
105
|
+
isLatest: false,
|
|
106
|
+
filepathsChanged: FILES,
|
|
107
|
+
commits,
|
|
108
|
+
});
|
|
67
109
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS);
|
|
68
|
-
expect(codeChanged).toBe(true);
|
|
69
110
|
});
|
|
70
|
-
test('Specific Actor non-functional configs updated',
|
|
71
|
-
const FILES = [
|
|
72
|
-
|
|
111
|
+
test('Specific Actor non-functional configs updated', () => {
|
|
112
|
+
const FILES = [
|
|
113
|
+
'actors/lukaskrivka_testing-github-integration-2/.actor/README.md',
|
|
114
|
+
'standalone-actors/lukaskrivka_test-standalone/CHANGELOG.md',
|
|
115
|
+
];
|
|
116
|
+
const actorsChanged = getChangedActors({
|
|
117
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
118
|
+
isLatest: false,
|
|
119
|
+
filepathsChanged: FILES,
|
|
120
|
+
commits,
|
|
121
|
+
});
|
|
122
|
+
expect(actorsChanged).toEqual([]);
|
|
123
|
+
});
|
|
124
|
+
test('JSON file with cosmetic-only changes in PR context (isLatest=false) skips tests', () => {
|
|
125
|
+
const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json'];
|
|
126
|
+
isCosmeticOnlyJsonSchemaSpy.mockReturnValue(true);
|
|
127
|
+
const actorsChanged = getChangedActors({
|
|
128
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
129
|
+
isLatest: false,
|
|
130
|
+
filepathsChanged: FILES,
|
|
131
|
+
commits,
|
|
132
|
+
});
|
|
133
|
+
expect(actorsChanged).toEqual([]);
|
|
134
|
+
});
|
|
135
|
+
test('JSON file with cosmetic-only changes in latest context still triggers build', () => {
|
|
136
|
+
const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json'];
|
|
137
|
+
isCosmeticOnlyJsonSchemaSpy.mockReturnValue(true);
|
|
138
|
+
const actorsChanged = getChangedActors({
|
|
139
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
140
|
+
isLatest: true,
|
|
141
|
+
filepathsChanged: FILES,
|
|
142
|
+
commits,
|
|
143
|
+
});
|
|
144
|
+
expect(actorsChanged).toEqual([ACTOR_CONFIGS[0]]);
|
|
145
|
+
});
|
|
146
|
+
test('JSON file with functional changes triggers tests', () => {
|
|
147
|
+
const FILES = ['actors/lukaskrivka_testing-github-integration-1/.actor/actor.json'];
|
|
148
|
+
// Default mock returns false = functional change
|
|
149
|
+
const actorsChanged = getChangedActors({
|
|
150
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
151
|
+
isLatest: false,
|
|
152
|
+
filepathsChanged: FILES,
|
|
153
|
+
commits,
|
|
154
|
+
});
|
|
155
|
+
expect(actorsChanged).toEqual([ACTOR_CONFIGS[0]]);
|
|
156
|
+
});
|
|
157
|
+
test('Mix: one actor has cosmetic-only JSON change, another has functional JSON change', () => {
|
|
158
|
+
const FILES = [
|
|
159
|
+
'actors/lukaskrivka_testing-github-integration-1/.actor/actor.json',
|
|
160
|
+
'actors/lukaskrivka_testing-github-integration-2/.actor/input_schema.json',
|
|
161
|
+
];
|
|
162
|
+
// Actor 1 JSON is cosmetic-only, actor 2 JSON is functional
|
|
163
|
+
isCosmeticOnlyJsonSchemaSpy.mockImplementation((_commits, filepath) => !filepath.includes('input_schema.json'));
|
|
164
|
+
const actorsChanged = getChangedActors({
|
|
165
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
166
|
+
isLatest: false,
|
|
167
|
+
filepathsChanged: FILES,
|
|
168
|
+
commits,
|
|
169
|
+
});
|
|
170
|
+
// Only the second actor (functional change) should be built and tested
|
|
171
|
+
expect(actorsChanged).toEqual([ACTOR_CONFIGS[1]]);
|
|
172
|
+
});
|
|
173
|
+
test('Standalone actor with cosmetic-only JSON change in PR context skips tests', () => {
|
|
174
|
+
const FILES = ['standalone-actors/lukaskrivka_test-standalone/.actor/actor.json'];
|
|
175
|
+
isCosmeticOnlyJsonSchemaSpy.mockReturnValue(true);
|
|
176
|
+
const actorsChanged = getChangedActors({
|
|
177
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
178
|
+
isLatest: false,
|
|
179
|
+
filepathsChanged: FILES,
|
|
180
|
+
commits,
|
|
181
|
+
});
|
|
73
182
|
expect(actorsChanged).toEqual([]);
|
|
74
|
-
expect(codeChanged).toBe(false);
|
|
75
183
|
});
|
|
76
|
-
test('Google Maps real user-case that had undefined',
|
|
77
|
-
const FILES = [
|
|
78
|
-
'
|
|
79
|
-
'
|
|
80
|
-
'code/src/
|
|
184
|
+
test('Google Maps real user-case that had undefined', () => {
|
|
185
|
+
const FILES = [
|
|
186
|
+
'actors/compass_Google-Maps-Reviews-Scraper/.actor/INPUT_SCHEMA.json',
|
|
187
|
+
'actors/compass_crawler-google-places/.actor/INPUT_SCHEMA.json',
|
|
188
|
+
'code/src/consts.ts',
|
|
189
|
+
'code/src/crawlers/cheerio/routes.ts',
|
|
190
|
+
'code/src/detail_page_handle.ts',
|
|
191
|
+
'code/src/enqueue_places.ts',
|
|
192
|
+
'code/src/helper-classes/initialize-all.ts',
|
|
193
|
+
'code/src/helper-classes/stats.ts',
|
|
194
|
+
'code/src/helper-classes/unmatched-categories.ts',
|
|
195
|
+
'code/src/main.ts',
|
|
196
|
+
'code/src/typedefs/general.ts',
|
|
197
|
+
'code/src/utils/background-enqueue.ts',
|
|
198
|
+
];
|
|
81
199
|
const ACTOR_CONFIGS_GOOGLE_MAPS = [
|
|
82
200
|
{
|
|
83
201
|
// Edge case of capitals in actor name :)
|
|
@@ -126,11 +244,13 @@ describe('Should build and test parser', () => {
|
|
|
126
244
|
isStandalone: true,
|
|
127
245
|
},
|
|
128
246
|
];
|
|
129
|
-
const
|
|
130
|
-
actorConfigs: ACTOR_CONFIGS_GOOGLE_MAPS,
|
|
247
|
+
const actorsChanged = getChangedActors({
|
|
248
|
+
actorConfigs: ACTOR_CONFIGS_GOOGLE_MAPS,
|
|
249
|
+
isLatest: false,
|
|
250
|
+
filepathsChanged: FILES,
|
|
251
|
+
commits,
|
|
131
252
|
});
|
|
132
253
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS_GOOGLE_MAPS.filter(({ isStandalone }) => !isStandalone));
|
|
133
|
-
expect(codeChanged).toBe(true);
|
|
134
254
|
});
|
|
135
255
|
});
|
|
136
256
|
//# sourceMappingURL=should-built-and-test.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-built-and-test.test.js","sourceRoot":"","sources":["../../../test/unit/should-built-and-test.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"should-built-and-test.test.js","sourceRoot":"","sources":["../../../test/unit/should-built-and-test.test.ts"],"names":[],"mappings":"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"}
|