@sudobility/testomniac_runner_service 0.1.124 → 0.1.127
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/dist/analyzer/page-analyzer/generators/content.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/content.js +26 -15
- package/dist/analyzer/page-analyzer/generators/content.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/dialogs.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/dialogs.js +26 -18
- package/dist/analyzer/page-analyzer/generators/dialogs.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/e2e.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/e2e.js +17 -12
- package/dist/analyzer/page-analyzer/generators/e2e.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/forms.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/forms.js +46 -27
- package/dist/analyzer/page-analyzer/generators/forms.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/hover-follow-up.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/hover-follow-up.js +10 -4
- package/dist/analyzer/page-analyzer/generators/hover-follow-up.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/keyboard-disclosure.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/keyboard-disclosure.js +26 -15
- package/dist/analyzer/page-analyzer/generators/keyboard-disclosure.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/login.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/login.js +17 -12
- package/dist/analyzer/page-analyzer/generators/login.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/navigation.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/navigation.js +11 -10
- package/dist/analyzer/page-analyzer/generators/navigation.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/render.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/render.js +17 -12
- package/dist/analyzer/page-analyzer/generators/render.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/scaffolds.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/scaffolds.js +26 -15
- package/dist/analyzer/page-analyzer/generators/scaffolds.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/semantic-journeys.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/semantic-journeys.js +26 -18
- package/dist/analyzer/page-analyzer/generators/semantic-journeys.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/variants.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/variants.js +26 -15
- package/dist/analyzer/page-analyzer/generators/variants.js.map +1 -1
- package/dist/analyzer/page-analyzer/index.d.ts +3 -0
- package/dist/analyzer/page-analyzer/index.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/index.js +49 -49
- package/dist/analyzer/page-analyzer/index.js.map +1 -1
- package/dist/api/client.d.ts +40 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +101 -10
- package/dist/api/client.js.map +1 -1
- package/dist/orchestrator/runner.d.ts.map +1 -1
- package/dist/orchestrator/runner.js +38 -36
- package/dist/orchestrator/runner.js.map +1 -1
- package/dist/orchestrator/test-interaction-executor.d.ts.map +1 -1
- package/dist/orchestrator/test-interaction-executor.js +20 -4
- package/dist/orchestrator/test-interaction-executor.js.map +1 -1
- package/package.json +3 -3
|
@@ -97,18 +97,19 @@ export async function generateNavigationTestInteractions(analyzer, context) {
|
|
|
97
97
|
const navSurfaceRun = surfaceRuns.find((sr) => sr.testSurfaceId === navSurfaceId);
|
|
98
98
|
if (!navSurfaceRun)
|
|
99
99
|
return;
|
|
100
|
+
const batchItems = [];
|
|
100
101
|
for (const path of navPaths) {
|
|
101
102
|
const navInteraction = analyzer.buildNavigationTestInteraction(path, sizeClass, uid);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
103
|
+
batchItems.push({
|
|
104
|
+
runnerId,
|
|
105
|
+
testSurfaceId: navSurfaceId,
|
|
106
|
+
testInteraction: navInteraction,
|
|
107
|
+
testEnvironmentId,
|
|
108
|
+
testSurfaceRunId: navSurfaceRun.id,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (batchItems.length > 0) {
|
|
112
|
+
await api.ensureTestInteractionBatch(batchItems);
|
|
112
113
|
}
|
|
113
114
|
// Do NOT reconcile — other navigation interactions (from hover-click
|
|
114
115
|
// discovery or scan bootstrap) should not be retired.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/navigation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
export async function generateRenderTestInteractions(analyzer, context) {
|
|
2
2
|
const { api, runnerId, testEnvironmentId, sizeClass, uid, bundleRun } = context;
|
|
3
3
|
const surfaceTitle = `Render: ${context.currentPath}`;
|
|
4
|
-
const surface = await api.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
const { surface, surfaceRun } = await api.ensureTestSurfaceWithRun({
|
|
5
|
+
runnerId,
|
|
6
|
+
testEnvironmentId,
|
|
7
|
+
testSurface: {
|
|
8
|
+
title: surfaceTitle,
|
|
9
|
+
description: `Render validation for ${context.currentPath}`,
|
|
10
|
+
startingPageStateId: context.currentPageStateId,
|
|
11
|
+
startingPath: context.currentPath,
|
|
12
|
+
sizeClass,
|
|
13
|
+
priority: 5,
|
|
14
|
+
surface_tags: ["render"],
|
|
15
|
+
uid,
|
|
16
|
+
},
|
|
17
|
+
testSurfaceBundleId: bundleRun.testSurfaceBundleId,
|
|
18
|
+
testSurfaceBundleRunId: bundleRun.id,
|
|
19
|
+
});
|
|
20
|
+
analyzer.invalidateSurfacesCache();
|
|
14
21
|
context.events.onTestSurfaceCreated({
|
|
15
22
|
surfaceId: surface.id,
|
|
16
23
|
title: surface.title,
|
|
17
24
|
});
|
|
18
|
-
await api.ensureBundleSurfaceLink(bundleRun.testSurfaceBundleId, surface.id);
|
|
19
|
-
const surfaceRun = await analyzer.ensureSurfaceRun(api, surface.id, bundleRun.id);
|
|
20
25
|
const testInteraction = analyzer.buildRenderTestInteraction(context.currentPath, sizeClass, uid, context.currentPageStateId, context.pageId);
|
|
21
26
|
const tc = await api.ensureTestInteraction(runnerId, surface.id, testInteraction, testEnvironmentId);
|
|
22
27
|
await api.createTestInteractionRun({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/render.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,QAAa,EACb,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GACnE,OAAO,CAAC;IACV,MAAM,YAAY,GAAG,WAAW,OAAO,CAAC,WAAW,EAAE,CAAC;IAEtD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/render.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,QAAa,EACb,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GACnE,OAAO,CAAC;IACV,MAAM,YAAY,GAAG,WAAW,OAAO,CAAC,WAAW,EAAE,CAAC;IAEtD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC;QACjE,QAAQ;QACR,iBAAiB;QACjB,WAAW,EAAE;YACX,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,yBAAyB,OAAO,CAAC,WAAW,EAAE;YAC3D,mBAAmB,EAAE,OAAO,CAAC,kBAAkB;YAC/C,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,SAAS;YACT,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC,QAAQ,CAAC;YACxB,GAAG;SACJ;QACD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,sBAAsB,EAAE,SAAS,CAAC,EAAE;KACrC,CAAC,CAAC;IACH,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAClC,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,0BAA0B,CACzD,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,GAAG,EACH,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,MAAM,CACf,CAAC;IACF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxC,QAAQ,EACR,OAAO,CAAC,EAAE,EACV,eAAe,EACf,iBAAiB,CAClB,CAAC;IACF,MAAM,GAAG,CAAC,wBAAwB,CAAC;QACjC,iBAAiB,EAAE,EAAE,CAAC,EAAE;QACxB,gBAAgB,EAAE,UAAU,CAAC,EAAE;KAChC,CAAC,CAAC;IAEH,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;QACxD,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,YAAY;QACZ,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;KACzD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolds.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaffolds.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAuGf"}
|
|
@@ -10,34 +10,45 @@ export async function generateScaffoldTestInteractions(analyzer, context) {
|
|
|
10
10
|
desiredKeysBySurface.set(surfaceTitle, []);
|
|
11
11
|
continue;
|
|
12
12
|
}
|
|
13
|
-
const surface = await api.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
const { surface, surfaceRun } = await api.ensureTestSurfaceWithRun({
|
|
14
|
+
runnerId,
|
|
15
|
+
testEnvironmentId,
|
|
16
|
+
testSurface: {
|
|
17
|
+
title: surfaceTitle,
|
|
18
|
+
description: `Tests for ${scaffold.type} scaffold`,
|
|
19
|
+
startingPageStateId: context.currentPageStateId,
|
|
20
|
+
startingPath: context.currentPath,
|
|
21
|
+
sizeClass,
|
|
22
|
+
priority: 3,
|
|
23
|
+
surface_tags: ["scaffold", scaffold.type],
|
|
24
|
+
uid,
|
|
25
|
+
},
|
|
26
|
+
testSurfaceBundleId: bundleRun.testSurfaceBundleId,
|
|
27
|
+
testSurfaceBundleRunId: bundleRun.id,
|
|
28
|
+
});
|
|
29
|
+
analyzer.invalidateSurfacesCache();
|
|
23
30
|
context.events.onTestSurfaceCreated({
|
|
24
31
|
surfaceId: surface.id,
|
|
25
32
|
title: surface.title,
|
|
26
33
|
});
|
|
27
|
-
await api.ensureBundleSurfaceLink(bundleRun.testSurfaceBundleId, surface.id);
|
|
28
|
-
const surfaceRun = await analyzer.ensureSurfaceRun(api, surface.id, bundleRun.id);
|
|
29
34
|
const desiredKeys = [];
|
|
35
|
+
const batchItems = [];
|
|
30
36
|
for (const item of scaffoldItems) {
|
|
31
37
|
const testInteraction = analyzer.shouldUseDirectControlInteraction(item)
|
|
32
38
|
? analyzer.buildControlInteractionTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId, context.currentTestInteractionId)
|
|
33
39
|
: analyzer.buildHoverTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId, context.currentTestInteractionId);
|
|
34
40
|
desiredKeys.push(analyzer.getGeneratedKey(testInteraction));
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
batchItems.push({
|
|
42
|
+
runnerId,
|
|
43
|
+
testSurfaceId: surface.id,
|
|
44
|
+
testInteraction,
|
|
45
|
+
testEnvironmentId,
|
|
38
46
|
testSurfaceRunId: surfaceRun.id,
|
|
39
47
|
});
|
|
40
48
|
}
|
|
49
|
+
if (batchItems.length > 0) {
|
|
50
|
+
await api.ensureTestInteractionBatch(batchItems);
|
|
51
|
+
}
|
|
41
52
|
desiredKeysBySurface.set(surfaceTitle, desiredKeys);
|
|
42
53
|
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
43
54
|
surfaceId: surface.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolds.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scaffolds.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-journeys.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/semantic-journeys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"semantic-journeys.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/semantic-journeys.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,uCAAuC,CAC3D,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAsDf"}
|
|
@@ -9,28 +9,36 @@ export async function generateSemanticJourneyTestInteractions(analyzer, context)
|
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
11
|
const { api, runnerId, testEnvironmentId, bundleRun } = context;
|
|
12
|
-
const surface = await api.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
const { surface, surfaceRun } = await api.ensureTestSurfaceWithRun({
|
|
13
|
+
runnerId,
|
|
14
|
+
testEnvironmentId,
|
|
15
|
+
testSurface: {
|
|
16
|
+
title: surfaceTitle,
|
|
17
|
+
description: `Semantic multi-step journeys from ${context.currentPath}`,
|
|
18
|
+
startingPageStateId: context.currentPageStateId,
|
|
19
|
+
startingPath: context.currentPath,
|
|
20
|
+
sizeClass: context.sizeClass,
|
|
21
|
+
priority: 6,
|
|
22
|
+
surface_tags: ["e2e", "semantic-journey"],
|
|
23
|
+
uid: context.uid,
|
|
24
|
+
},
|
|
25
|
+
testSurfaceBundleId: bundleRun.testSurfaceBundleId,
|
|
26
|
+
testSurfaceBundleRunId: bundleRun.id,
|
|
27
|
+
});
|
|
28
|
+
analyzer.invalidateSurfacesCache();
|
|
22
29
|
context.events.onTestSurfaceCreated({
|
|
23
30
|
surfaceId: surface.id,
|
|
24
31
|
title: surface.title,
|
|
25
32
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
const batchItems = journeys.map((journey) => ({
|
|
34
|
+
runnerId,
|
|
35
|
+
testSurfaceId: surface.id,
|
|
36
|
+
testInteraction: journey,
|
|
37
|
+
testEnvironmentId,
|
|
38
|
+
testSurfaceRunId: surfaceRun.id,
|
|
39
|
+
}));
|
|
40
|
+
if (batchItems.length > 0) {
|
|
41
|
+
await api.ensureTestInteractionBatch(batchItems);
|
|
34
42
|
}
|
|
35
43
|
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
36
44
|
surfaceId: surface.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-journeys.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/semantic-journeys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"semantic-journeys.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/semantic-journeys.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC3D,QAAa,EACb,OAAwB;IAExB,MAAM,QAAQ,GAAG,QAAQ,CAAC,oCAAoC,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,aAAa,OAAO,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;YACxD,YAAY;YACZ,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC;QACjE,QAAQ;QACR,iBAAiB;QACjB,WAAW,EAAE;YACX,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qCAAqC,OAAO,CAAC,WAAW,EAAE;YACvE,mBAAmB,EAAE,OAAO,CAAC,kBAAkB;YAC/C,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC;YACzC,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB;QACD,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;QAClD,sBAAsB,EAAE,SAAS,CAAC,EAAE;KACrC,CAAC,CAAC;IACH,QAAQ,CAAC,uBAAuB,EAAE,CAAC;IACnC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAClC,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAA+B,QAAQ,CAAC,GAAG,CACzD,CAAC,OAAY,EAAE,EAAE,CAAC,CAAC;QACjB,QAAQ;QACR,aAAa,EAAE,OAAO,CAAC,EAAE;QACzB,eAAe,EAAE,OAAO;QACxB,iBAAiB;QACjB,gBAAgB,EAAE,UAAU,CAAC,EAAE;KAChC,CAAC,CACH,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;QACxD,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,YAAY;QACZ,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CACzC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAClC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/variants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/variants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,+BAA+B,CACnD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoFf"}
|
|
@@ -24,26 +24,34 @@ export async function generateVariantTestInteractions(analyzer, context) {
|
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
const { api, runnerId, testEnvironmentId, bundleRun } = context;
|
|
27
|
-
const surface = await api.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
const { surface, surfaceRun } = await api.ensureTestSurfaceWithRun({
|
|
28
|
+
runnerId,
|
|
29
|
+
testEnvironmentId,
|
|
30
|
+
testSurface: {
|
|
31
|
+
title: surfaceTitle,
|
|
32
|
+
description: `Variant and option state checks for ${context.currentPath}`,
|
|
33
|
+
startingPageStateId: context.currentPageStateId,
|
|
34
|
+
startingPath: context.currentPath,
|
|
35
|
+
sizeClass: context.sizeClass,
|
|
36
|
+
priority: 2,
|
|
37
|
+
surface_tags: ["variant", "option"],
|
|
38
|
+
uid: context.uid,
|
|
39
|
+
},
|
|
40
|
+
testSurfaceBundleId: bundleRun.testSurfaceBundleId,
|
|
41
|
+
testSurfaceBundleRunId: bundleRun.id,
|
|
42
|
+
});
|
|
43
|
+
analyzer.invalidateSurfacesCache();
|
|
37
44
|
context.events.onTestSurfaceCreated({
|
|
38
45
|
surfaceId: surface.id,
|
|
39
46
|
title: surface.title,
|
|
40
47
|
});
|
|
41
|
-
|
|
42
|
-
const surfaceRun = await analyzer.ensureSurfaceRun(api, surface.id, bundleRun.id);
|
|
48
|
+
const batchItems = [];
|
|
43
49
|
for (const test of tests) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
batchItems.push({
|
|
51
|
+
runnerId,
|
|
52
|
+
testSurfaceId: surface.id,
|
|
53
|
+
testInteraction: test,
|
|
54
|
+
testEnvironmentId,
|
|
47
55
|
testSurfaceRunId: surfaceRun.id,
|
|
48
56
|
});
|
|
49
57
|
const selector = test.steps?.[0]?.action?.path;
|
|
@@ -52,6 +60,9 @@ export async function generateVariantTestInteractions(analyzer, context) {
|
|
|
52
60
|
await analyzer.markGeneratedSelectorForBasePath(context.currentPath, actionType, selector);
|
|
53
61
|
}
|
|
54
62
|
}
|
|
63
|
+
if (batchItems.length > 0) {
|
|
64
|
+
await api.ensureTestInteractionBatch(batchItems);
|
|
65
|
+
}
|
|
55
66
|
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
56
67
|
surfaceId: surface.id,
|
|
57
68
|
surfaceTitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/variants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/variants.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,10 @@ type AppendActionResult = {
|
|
|
15
15
|
*/
|
|
16
16
|
export declare class PageAnalyzer {
|
|
17
17
|
private store;
|
|
18
|
+
private surfacesCache;
|
|
18
19
|
constructor(dedupStore?: DedupStore);
|
|
20
|
+
private getCachedSurfaces;
|
|
21
|
+
private invalidateSurfacesCache;
|
|
19
22
|
/** Check whether generation already happened for a given path in this run. */
|
|
20
23
|
hasGeneratedForPath(path: string): Promise<boolean>;
|
|
21
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzer/page-analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzer/page-analyzer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,9 +60,19 @@ function basePathOf(raw) {
|
|
|
60
60
|
*/
|
|
61
61
|
export class PageAnalyzer {
|
|
62
62
|
store;
|
|
63
|
+
surfacesCache = null;
|
|
63
64
|
constructor(dedupStore) {
|
|
64
65
|
this.store = dedupStore ?? new InMemoryDedupStore();
|
|
65
66
|
}
|
|
67
|
+
async getCachedSurfaces(context) {
|
|
68
|
+
if (!this.surfacesCache) {
|
|
69
|
+
this.surfacesCache = await context.api.getTestSurfacesByRunner(context.runnerId);
|
|
70
|
+
}
|
|
71
|
+
return this.surfacesCache;
|
|
72
|
+
}
|
|
73
|
+
invalidateSurfacesCache() {
|
|
74
|
+
this.surfacesCache = null;
|
|
75
|
+
}
|
|
66
76
|
/** Check whether generation already happened for a given path in this run. */
|
|
67
77
|
hasGeneratedForPath(path) {
|
|
68
78
|
return this.store.has("generatedPaths", normalizePathForDedup(path));
|
|
@@ -431,53 +441,38 @@ export class PageAnalyzer {
|
|
|
431
441
|
await generateNavigationTestInteractions(this, contextForFullPass);
|
|
432
442
|
}
|
|
433
443
|
async reconcileGeneratedSurfaceElements(context, params) {
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
const obsoleteIds = existing
|
|
449
|
-
.filter(testInteraction => {
|
|
450
|
-
const isGenerated = Boolean(testInteraction.isGenerated);
|
|
451
|
-
const isActive = testInteraction.isActive !== false;
|
|
452
|
-
if (!isGenerated || !isActive)
|
|
453
|
-
return false;
|
|
454
|
-
if ((testInteraction.dependencyTestInteractionId ?? null) !==
|
|
455
|
-
(params.dependencyTestInteractionId ?? null)) {
|
|
456
|
-
return false;
|
|
444
|
+
let surfaceId;
|
|
445
|
+
if (params.surfaceId != null) {
|
|
446
|
+
surfaceId = params.surfaceId;
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
const surface = await this.findExistingSurfaceByTitle(context, params.surfaceTitle);
|
|
450
|
+
if (!surface) {
|
|
451
|
+
logAnalyzer("reconcile:surface-missing", {
|
|
452
|
+
requestedSurfaceId: params.surfaceId ?? null,
|
|
453
|
+
requestedSurfaceTitle: params.surfaceTitle,
|
|
454
|
+
dependencyTestInteractionId: params.dependencyTestInteractionId ?? null,
|
|
455
|
+
desiredKeysCount: params.desiredKeys.length,
|
|
456
|
+
});
|
|
457
|
+
return;
|
|
457
458
|
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
surfaceTitle: surface.title,
|
|
465
|
-
dependencyTestInteractionId: params.dependencyTestInteractionId ?? null,
|
|
466
|
-
desiredKeysCount: desiredKeys.size,
|
|
467
|
-
existingCount: existing.length,
|
|
468
|
-
obsoleteIds,
|
|
459
|
+
surfaceId = surface.id;
|
|
460
|
+
}
|
|
461
|
+
const result = await context.api.reconcileTestInteractions({
|
|
462
|
+
testSurfaceId: surfaceId,
|
|
463
|
+
desiredKeys: params.desiredKeys,
|
|
464
|
+
dependencyTestInteractionId: params.dependencyTestInteractionId,
|
|
469
465
|
});
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
obsoleteIds,
|
|
466
|
+
logAnalyzer("reconcile:completed", {
|
|
467
|
+
surfaceId,
|
|
468
|
+
surfaceTitle: params.surfaceTitle,
|
|
469
|
+
dependencyTestInteractionId: params.dependencyTestInteractionId ?? null,
|
|
470
|
+
desiredKeysCount: params.desiredKeys.length,
|
|
471
|
+
retiredIds: result.retiredIds,
|
|
477
472
|
});
|
|
478
473
|
}
|
|
479
474
|
async findExistingSurfaceByTitle(context, title) {
|
|
480
|
-
const surfaces = await
|
|
475
|
+
const surfaces = await this.getCachedSurfaces(context);
|
|
481
476
|
const surface = surfaces.find(candidate => candidate.title === title);
|
|
482
477
|
return surface ? { id: surface.id, title: surface.title } : null;
|
|
483
478
|
}
|
|
@@ -808,13 +803,18 @@ export class PageAnalyzer {
|
|
|
808
803
|
}
|
|
809
804
|
async ensureScaffolds(context) {
|
|
810
805
|
const scaffoldIdsBySelector = new Map();
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
806
|
+
if (context.scaffolds.length === 0)
|
|
807
|
+
return scaffoldIdsBySelector;
|
|
808
|
+
const items = context.scaffolds.map(scaffold => ({
|
|
809
|
+
runnerId: context.runnerId,
|
|
810
|
+
type: scaffold.type,
|
|
811
|
+
html: scaffold.outerHtml,
|
|
812
|
+
hash: scaffold.hash,
|
|
813
|
+
}));
|
|
814
|
+
const results = await context.api.findOrCreateScaffoldBatch(items);
|
|
815
|
+
for (let i = 0; i < context.scaffolds.length; i++) {
|
|
816
|
+
const scaffold = context.scaffolds[i];
|
|
817
|
+
const result = results[i];
|
|
818
818
|
scaffoldIdsBySelector.set(scaffold.selector, result.id);
|
|
819
819
|
// Link page state screenshot to scaffold if it doesn't have one
|
|
820
820
|
if (!result.screenshotPath && context.screenshotPath) {
|