apify-test-tools 0.5.7-beta.3 → 0.5.7-beta.5
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 -18
- package/.husky/pre-commit +13 -0
- package/CHANGELOG.md +3 -0
- package/CONTRIBUTING.md +5 -0
- package/README.md +39 -43
- package/bin/build.ts +138 -87
- package/bin/diff-changes.ts +52 -23
- package/bin/diff-json-schema.ts +10 -3
- package/bin/git.ts +6 -8
- package/bin/github.ts +7 -6
- package/bin/main.ts +14 -8
- package/bin/slack.ts +6 -2
- package/bin/test-report.ts +55 -44
- package/bin/types.ts +56 -59
- package/bin/utils.ts +17 -12
- 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 +1 -1
- package/dist/bin/diff-changes.d.ts.map +1 -1
- package/dist/bin/diff-changes.js +15 -3
- package/dist/bin/diff-changes.js.map +1 -1
- package/dist/bin/diff-json-schema.d.ts.map +1 -1
- package/dist/bin/diff-json-schema.js +6 -1
- package/dist/bin/diff-json-schema.js.map +1 -1
- package/dist/bin/git.d.ts +0 -1
- package/dist/bin/git.d.ts.map +1 -1
- package/dist/bin/git.js +0 -5
- 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 +7 -1
- 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.map +1 -1
- package/dist/bin/utils.js +11 -7
- package/dist/bin/utils.js.map +1 -1
- package/dist/lib/extend-expect.d.ts.map +1 -1
- package/dist/lib/extend-expect.js +13 -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.js +14 -7
- package/dist/test/unit/bin/diff-changes.test.js.map +1 -1
- package/dist/test/unit/bin/diff.test.js +14 -4
- package/dist/test/unit/bin/diff.test.js.map +1 -1
- 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/should-built-and-test.test.js +75 -18
- 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 +23 -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 +14 -7
- package/test/unit/bin/diff.test.ts +19 -21
- package/test/unit/bin/git.test.ts +3 -1
- package/test/unit/custom-matchers.test.ts +10 -9
- package/test/unit/should-built-and-test.test.ts +77 -20
- 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,6 +1,6 @@
|
|
|
1
|
-
import process from 'process';
|
|
2
|
-
import { describe } from 'vitest';
|
|
1
|
+
import process from 'node:process';
|
|
3
2
|
import { ApifyClient } from 'apify-client';
|
|
3
|
+
import { describe } from 'vitest';
|
|
4
4
|
import { testStandbyActor, testTestActor } from '../../lib/lib.js';
|
|
5
5
|
import { RunTestResult } from '../../lib/run-test-result.js';
|
|
6
6
|
var PpeEventEnum;
|
|
@@ -9,12 +9,7 @@ var PpeEventEnum;
|
|
|
9
9
|
PpeEventEnum["SEARCH_PAGE_SCRAPED"] = "search-page-scraped";
|
|
10
10
|
PpeEventEnum["ADS_SCRAPED"] = "ads-scraped";
|
|
11
11
|
})(PpeEventEnum || (PpeEventEnum = {}));
|
|
12
|
-
|
|
13
|
-
ACTOR_START: 'actor-start',
|
|
14
|
-
ITEM_PUSHED: 'search-page-scraped',
|
|
15
|
-
ADS_SCRAPED: 'ads-scraped',
|
|
16
|
-
};
|
|
17
|
-
// TODO: Remake these tests. k5MNKmaDGHlABDn2I run doesn't exist and we probably don't want to depend on fixed run
|
|
12
|
+
// TODO: Remake these tests. k5MNKmaDGHlABDn2I run doesn't exist and we probably don't want to depend on fixed run
|
|
18
13
|
describe.skip('custom-matchers', { timeout: 100_000 }, () => {
|
|
19
14
|
testTestActor('basic', async ({ expect }) => {
|
|
20
15
|
const apifyClient = new ApifyClient({ token: process.env.TESTER_APIFY_TOKEN });
|
|
@@ -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":"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"}
|
|
@@ -31,35 +31,66 @@ describe('Should build and test parser', () => {
|
|
|
31
31
|
});
|
|
32
32
|
test('Ignores dev-only readme', () => {
|
|
33
33
|
const FILES = ['README.md', 'code/README.md', 'shared/README.md'];
|
|
34
|
-
const actorsChanged = getChangedActors({
|
|
34
|
+
const actorsChanged = getChangedActors({
|
|
35
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
36
|
+
isLatest: false,
|
|
37
|
+
filepathsChanged: FILES,
|
|
38
|
+
commits,
|
|
39
|
+
});
|
|
35
40
|
expect(actorsChanged).toEqual([]);
|
|
36
41
|
});
|
|
37
42
|
test('Ignores other ignored files and folders', () => {
|
|
38
43
|
const FILES = ['.vscode/', '.gitignore', '.husky/', '.eslintrc', '.editorconfig', '.actor/'];
|
|
39
|
-
const actorsChanged = getChangedActors({
|
|
44
|
+
const actorsChanged = getChangedActors({
|
|
45
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
46
|
+
isLatest: false,
|
|
47
|
+
filepathsChanged: FILES,
|
|
48
|
+
commits,
|
|
49
|
+
});
|
|
40
50
|
expect(actorsChanged).toEqual([]);
|
|
41
51
|
});
|
|
42
52
|
test('Only builds latest for all Actors', () => {
|
|
43
53
|
const FILES = ['shared/CHANGELOG.md', 'CHANGELOG.md'];
|
|
44
|
-
const actorsChanged = getChangedActors({
|
|
54
|
+
const actorsChanged = getChangedActors({
|
|
55
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
56
|
+
isLatest: true,
|
|
57
|
+
filepathsChanged: FILES,
|
|
58
|
+
commits,
|
|
59
|
+
});
|
|
45
60
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS.filter(({ isStandalone }) => !isStandalone));
|
|
46
61
|
});
|
|
47
62
|
test('Code updated, tests miniactors', () => {
|
|
48
63
|
const FILES = ['code/src/main.ts', 'package.json'];
|
|
49
|
-
const actorsChanged = getChangedActors({
|
|
64
|
+
const actorsChanged = getChangedActors({
|
|
65
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
66
|
+
isLatest: false,
|
|
67
|
+
filepathsChanged: FILES,
|
|
68
|
+
commits,
|
|
69
|
+
});
|
|
50
70
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS.filter(({ isStandalone }) => !isStandalone));
|
|
51
71
|
});
|
|
52
72
|
test('Specific Actor functionality configs updated', () => {
|
|
53
|
-
const FILES = [
|
|
73
|
+
const FILES = [
|
|
74
|
+
'actors/lukaskrivka_testing-github-integration-1/.actor/actor.json',
|
|
75
|
+
'standalone-actors/lukaskrivka_test-standalone/Dockerfile',
|
|
76
|
+
];
|
|
54
77
|
// Default mock returns false = functional change
|
|
55
|
-
const actorsChanged = getChangedActors({
|
|
78
|
+
const actorsChanged = getChangedActors({
|
|
79
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
80
|
+
isLatest: false,
|
|
81
|
+
filepathsChanged: FILES,
|
|
82
|
+
commits,
|
|
83
|
+
});
|
|
56
84
|
expect(actorsChanged).toEqual([ACTOR_CONFIGS[0], ACTOR_CONFIGS[2]]);
|
|
57
85
|
});
|
|
58
86
|
test('src/main.ts updated', () => {
|
|
59
|
-
const FILES = [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
87
|
+
const FILES = ['src/main.ts'];
|
|
88
|
+
const actorsChanged = getChangedActors({
|
|
89
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
90
|
+
isLatest: true,
|
|
91
|
+
filepathsChanged: FILES,
|
|
92
|
+
commits,
|
|
93
|
+
});
|
|
63
94
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS.slice(0, 2));
|
|
64
95
|
});
|
|
65
96
|
test('Miniactor, Code and standalone actor updated,', () => {
|
|
@@ -69,12 +100,25 @@ describe('Should build and test parser', () => {
|
|
|
69
100
|
'standalone-actors/lukaskrivka_test-standalone/Dockerfile',
|
|
70
101
|
];
|
|
71
102
|
// Default mock returns false = functional change for the JSON file
|
|
72
|
-
const actorsChanged = getChangedActors({
|
|
103
|
+
const actorsChanged = getChangedActors({
|
|
104
|
+
actorConfigs: ACTOR_CONFIGS,
|
|
105
|
+
isLatest: false,
|
|
106
|
+
filepathsChanged: FILES,
|
|
107
|
+
commits,
|
|
108
|
+
});
|
|
73
109
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS);
|
|
74
110
|
});
|
|
75
111
|
test('Specific Actor non-functional configs updated', () => {
|
|
76
|
-
const FILES = [
|
|
77
|
-
|
|
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
|
+
});
|
|
78
122
|
expect(actorsChanged).toEqual([]);
|
|
79
123
|
});
|
|
80
124
|
test('JSON file with cosmetic-only changes in PR context (isLatest=false) skips tests', () => {
|
|
@@ -138,10 +182,20 @@ describe('Should build and test parser', () => {
|
|
|
138
182
|
expect(actorsChanged).toEqual([]);
|
|
139
183
|
});
|
|
140
184
|
test('Google Maps real user-case that had undefined', () => {
|
|
141
|
-
const FILES = [
|
|
142
|
-
'
|
|
143
|
-
'
|
|
144
|
-
'code/src/
|
|
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
|
+
];
|
|
145
199
|
const ACTOR_CONFIGS_GOOGLE_MAPS = [
|
|
146
200
|
{
|
|
147
201
|
// Edge case of capitals in actor name :)
|
|
@@ -191,7 +245,10 @@ describe('Should build and test parser', () => {
|
|
|
191
245
|
},
|
|
192
246
|
];
|
|
193
247
|
const actorsChanged = getChangedActors({
|
|
194
|
-
actorConfigs: ACTOR_CONFIGS_GOOGLE_MAPS,
|
|
248
|
+
actorConfigs: ACTOR_CONFIGS_GOOGLE_MAPS,
|
|
249
|
+
isLatest: false,
|
|
250
|
+
filepathsChanged: FILES,
|
|
251
|
+
commits,
|
|
195
252
|
});
|
|
196
253
|
expect(actorsChanged).toEqual(ACTOR_CONFIGS_GOOGLE_MAPS.filter(({ isStandalone }) => !isStandalone));
|
|
197
254
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"should-built-and-test.test.js","sourceRoot":"","sources":["../../../test/unit/should-built-and-test.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAC;AAGhE,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,sEAAsE;IACtE,MAAM,aAAa,GAAkB;QACjC;YACI,SAAS,EAAE,0CAA0C;YACrD,MAAM,EAAE,iDAAiD;YACzD,YAAY,EAAE,KAAK;SACtB;QACD;YACI,SAAS,EAAE,0CAA0C;YACrD,MAAM,EAAE,iDAAiD;YACzD,YAAY,EAAE,KAAK;SACtB;QACD;YACI,SAAS,EAAE,6BAA6B;YACxC,MAAM,EAAE,+CAA+C;YACvD,YAAY,EAAE,IAAI;SACrB;KACJ,CAAC;IAEF,MAAM,OAAO,GAAa;QACtB,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;KACxD,CAAC;IAEF,IAAI,2BAAyC,CAAC;IAE9C,UAAU,CAAC,GAAG,EAAE;QACZ,6DAA6D;QAC7D,2BAA2B,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,gBAAgB,CAAC,
|
|
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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"}
|