@sudobility/testomniac_runner_service 0.1.66 → 0.1.67
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 +4 -2
- package/dist/analyzer/page-analyzer/generators/content.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/navigation.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/navigation.js +3 -30
- package/dist/analyzer/page-analyzer/generators/navigation.js.map +1 -1
- package/dist/analyzer/page-analyzer/generators/scaffolds.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/generators/scaffolds.js +5 -2
- package/dist/analyzer/page-analyzer/generators/scaffolds.js.map +1 -1
- package/dist/analyzer/page-analyzer/index.d.ts.map +1 -1
- package/dist/analyzer/page-analyzer/index.js +75 -5
- package/dist/analyzer/page-analyzer/index.js.map +1 -1
- package/dist/api/client.d.ts +1 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -2
- package/dist/api/client.js.map +1 -1
- package/dist/orchestrator/runner.d.ts +2 -0
- package/dist/orchestrator/runner.d.ts.map +1 -1
- package/dist/orchestrator/runner.js +170 -32
- 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 +107 -0
- package/dist/orchestrator/test-interaction-executor.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/content.ts"],"names":[],"mappings":"AAAA,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,
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/content.ts"],"names":[],"mappings":"AAAA,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,CAmFf"}
|
|
@@ -6,6 +6,7 @@ export async function generateContentTestInteractions(analyzer, context) {
|
|
|
6
6
|
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
7
7
|
surfaceTitle,
|
|
8
8
|
desiredKeys: [],
|
|
9
|
+
dependencyTestInteractionId: context.currentTestInteractionId,
|
|
9
10
|
});
|
|
10
11
|
return;
|
|
11
12
|
}
|
|
@@ -28,8 +29,8 @@ export async function generateContentTestInteractions(analyzer, context) {
|
|
|
28
29
|
const desiredKeys = [];
|
|
29
30
|
for (const item of contentItems) {
|
|
30
31
|
const testInteraction = analyzer.shouldUseDirectControlInteraction(item)
|
|
31
|
-
? analyzer.buildControlInteractionTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId)
|
|
32
|
-
: analyzer.buildHoverTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId);
|
|
32
|
+
? analyzer.buildControlInteractionTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId, context.currentTestInteractionId)
|
|
33
|
+
: analyzer.buildHoverTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId, context.currentTestInteractionId);
|
|
33
34
|
desiredKeys.push(analyzer.getGeneratedKey(testInteraction));
|
|
34
35
|
const tc = await api.ensureTestInteraction(runnerId, surface.id, testInteraction, testEnvironmentId);
|
|
35
36
|
await api.createTestInteractionRun({
|
|
@@ -41,6 +42,7 @@ export async function generateContentTestInteractions(analyzer, context) {
|
|
|
41
42
|
surfaceId: surface.id,
|
|
42
43
|
surfaceTitle,
|
|
43
44
|
desiredKeys,
|
|
45
|
+
dependencyTestInteractionId: context.currentTestInteractionId,
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
//# sourceMappingURL=content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/content.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAAa,EACb,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GACnE,OAAO,CAAC;IAEV,MAAM,YAAY,GAAG,QAAQ,CAAC,yBAAyB,CACrD,OAAO,CAAC,eAAe,CAAC,MAAM,CAC5B,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAC/D,CACF,CAAC;IACF,MAAM,YAAY,GAAG,SAAS,OAAO,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;YACxD,YAAY;YACZ,WAAW,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/content.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAAa,EACb,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GACnE,OAAO,CAAC;IAEV,MAAM,YAAY,GAAG,QAAQ,CAAC,yBAAyB,CACrD,OAAO,CAAC,eAAe,CAAC,MAAM,CAC5B,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAC/D,CACF,CAAC;IACF,MAAM,YAAY,GAAG,SAAS,OAAO,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;YACxD,YAAY;YACZ,WAAW,EAAE,EAAE;YACf,2BAA2B,EAAE,OAAO,CAAC,wBAAwB;SAC9D,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,iBAAiB,CACzC,QAAQ,EACR;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,6BAA6B,OAAO,CAAC,WAAW,EAAE;QAC/D,mBAAmB,EAAE,OAAO,CAAC,kBAAkB;QAC/C,YAAY,EAAE,OAAO,CAAC,WAAW;QACjC,SAAS;QACT,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,CAAC,cAAc,CAAC;QAC9B,GAAG;KACJ,EACD,iBAAiB,CAClB,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAClC,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,uBAAuB,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAChD,GAAG,EACH,OAAO,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,CACb,CAAC;IAEF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC;YACtE,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAC7C,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,GAAG,EACH,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,wBAAwB,CACjC;YACH,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAChC,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,GAAG,EACH,OAAO,CAAC,kBAAkB,EAC1B,OAAO,CAAC,wBAAwB,CACjC,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxC,QAAQ,EACR,OAAO,CAAC,EAAE,EACV,eAAe,EACf,iBAAiB,CAClB,CAAC;QACF,MAAM,GAAG,CAAC,wBAAwB,CAAC;YACjC,iBAAiB,EAAE,EAAE,CAAC,EAAE;YACxB,gBAAgB,EAAE,UAAU,CAAC,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;QACxD,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,YAAY;QACZ,WAAW;QACX,2BAA2B,EAAE,OAAO,CAAC,wBAAwB;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -1,35 +1,8 @@
|
|
|
1
1
|
export async function generateNavigationTestInteractions(analyzer, context) {
|
|
2
|
-
if (context.pageRequiresLogin) {
|
|
3
|
-
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
4
|
-
surfaceId: context.navigationSurface.id,
|
|
5
|
-
surfaceTitle: context.navigationSurface.title,
|
|
6
|
-
desiredKeys: [],
|
|
7
|
-
});
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const { api, runnerId, testEnvironmentId, sizeClass, uid, navigationSurface, bundleRun, } = context;
|
|
11
|
-
const links = analyzer.selectRepresentativeItems(context.actionableItems.filter((item) => item.actionKind === "navigate" && item.href && item.visible));
|
|
12
|
-
await api.ensureBundleSurfaceLink(bundleRun.testSurfaceBundleId, navigationSurface.id);
|
|
13
|
-
const surfaceRun = await analyzer.ensureSurfaceRun(api, navigationSurface.id, bundleRun.id);
|
|
14
|
-
const desiredKeys = [];
|
|
15
|
-
for (const link of links) {
|
|
16
|
-
if (!link.href)
|
|
17
|
-
continue;
|
|
18
|
-
const path = analyzer.extractRelativePath(link.href);
|
|
19
|
-
if (!path)
|
|
20
|
-
continue;
|
|
21
|
-
const testInteraction = analyzer.buildNavigationTestInteraction(path, sizeClass, uid, context.currentPageStateId);
|
|
22
|
-
desiredKeys.push(analyzer.getGeneratedKey(testInteraction));
|
|
23
|
-
const tc = await api.ensureTestInteraction(runnerId, navigationSurface.id, testInteraction, testEnvironmentId);
|
|
24
|
-
await api.createTestInteractionRun({
|
|
25
|
-
testInteractionId: tc.id,
|
|
26
|
-
testSurfaceRunId: surfaceRun.id,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
2
|
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
30
|
-
surfaceId: navigationSurface.id,
|
|
31
|
-
surfaceTitle: navigationSurface.title,
|
|
32
|
-
desiredKeys,
|
|
3
|
+
surfaceId: context.navigationSurface.id,
|
|
4
|
+
surfaceTitle: context.navigationSurface.title,
|
|
5
|
+
desiredKeys: [],
|
|
33
6
|
});
|
|
34
7
|
}
|
|
35
8
|
//# sourceMappingURL=navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/navigation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,QAAa,EACb,OAAwB;IAExB,
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/navigation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,QAAa,EACb,OAAwB;IAExB,MAAM,QAAQ,CAAC,iCAAiC,CAAC,OAAO,EAAE;QACxD,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE;QACvC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK;QAC7C,WAAW,EAAE,EAAE;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolds.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"scaffolds.d.ts","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Gf"}
|
|
@@ -29,8 +29,8 @@ export async function generateScaffoldTestInteractions(analyzer, context) {
|
|
|
29
29
|
const desiredKeys = [];
|
|
30
30
|
for (const item of scaffoldItems) {
|
|
31
31
|
const testInteraction = analyzer.shouldUseDirectControlInteraction(item)
|
|
32
|
-
? analyzer.buildControlInteractionTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId)
|
|
33
|
-
: analyzer.buildHoverTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId);
|
|
32
|
+
? analyzer.buildControlInteractionTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId, context.currentTestInteractionId)
|
|
33
|
+
: analyzer.buildHoverTestInteraction(item, context.currentPath, sizeClass, uid, context.currentPageStateId, context.currentTestInteractionId);
|
|
34
34
|
desiredKeys.push(analyzer.getGeneratedKey(testInteraction));
|
|
35
35
|
const tc = await api.ensureTestInteraction(runnerId, surface.id, testInteraction, testEnvironmentId);
|
|
36
36
|
await api.createTestInteractionRun({
|
|
@@ -43,6 +43,7 @@ export async function generateScaffoldTestInteractions(analyzer, context) {
|
|
|
43
43
|
surfaceId: surface.id,
|
|
44
44
|
surfaceTitle,
|
|
45
45
|
desiredKeys,
|
|
46
|
+
dependencyTestInteractionId: context.currentTestInteractionId,
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
const existingSurfaces = await api.getTestSurfacesByRunner(runnerId);
|
|
@@ -52,6 +53,7 @@ export async function generateScaffoldTestInteractions(analyzer, context) {
|
|
|
52
53
|
surfaceId: surface.id,
|
|
53
54
|
surfaceTitle: surface.title,
|
|
54
55
|
desiredKeys: [],
|
|
56
|
+
dependencyTestInteractionId: context.currentTestInteractionId,
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
59
|
}
|
|
@@ -61,6 +63,7 @@ export async function generateScaffoldTestInteractions(analyzer, context) {
|
|
|
61
63
|
await analyzer.reconcileGeneratedSurfaceElements(context, {
|
|
62
64
|
surfaceTitle,
|
|
63
65
|
desiredKeys,
|
|
66
|
+
dependencyTestInteractionId: context.currentTestInteractionId,
|
|
64
67
|
});
|
|
65
68
|
}
|
|
66
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffolds.js","sourceRoot":"","sources":["../../../../src/analyzer/page-analyzer/generators/scaffolds.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,QAAa,EACb,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GACnE,OAAO,CAAC;IACV,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;IACjD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEzD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,yBAAyB,CACtD,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CACpD,CAAC;QAEF,MAAM,YAAY,GAAG,aAAa,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClD,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,iBAAiB,CACzC,QAAQ,EACR;YACE,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,aAAa,QAAQ,CAAC,IAAI,WAAW;YAClD,mBAAmB,EAAE,OAAO,CAAC,kBAAkB;YAC/C,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,SAAS;YACT,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC;YACzC,GAAG;SACJ,EACD,iBAAiB,CAClB,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;YAClC,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,uBAAuB,CAC/B,SAAS,CAAC,mBAAmB,EAC7B,OAAO,CAAC,EAAE,CACX,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAChD,GAAG,EACH,OAAO,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,CACb,CAAC;QAEF,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,iCAAiC,CAAC,IAAI,CAAC;gBACtE,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAC7C,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,SAAS,EACT,GAAG,EACH,OAAO,CAAC,kBAAkB,
|
|
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":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzer/page-analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAQZ,MAAM,8BAA8B,CAAC;AAYtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa/C,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ/C,KAAK,wBAAwB,GAAG,eAAe,GAAG;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analyzer/page-analyzer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ import { generateDialogLifecycleTestInteractions } from "./generators/dialogs";
|
|
|
14
14
|
import { generateKeyboardAndDisclosureTestInteractions } from "./generators/keyboard-disclosure";
|
|
15
15
|
import { generateVariantTestInteractions } from "./generators/variants";
|
|
16
16
|
import { generateContentTestInteractions } from "./generators/content";
|
|
17
|
+
function logAnalyzer(step, details) {
|
|
18
|
+
console.info("[PageAnalyzer]", step, details ?? {});
|
|
19
|
+
}
|
|
17
20
|
/**
|
|
18
21
|
* PageAnalyzer generates expectations and discovers new test elements
|
|
19
22
|
* during discovery mode.
|
|
@@ -59,16 +62,51 @@ export class PageAnalyzer {
|
|
|
59
62
|
* Called AFTER expertises evaluate and the target page state is established.
|
|
60
63
|
*/
|
|
61
64
|
async generateTestInteractions(testInteraction, context) {
|
|
65
|
+
logAnalyzer("generate:start", {
|
|
66
|
+
sourceTitle: testInteraction.title,
|
|
67
|
+
sourceType: testInteraction.type,
|
|
68
|
+
sourcePriority: testInteraction.priority,
|
|
69
|
+
sourceSurfaceTags: testInteraction.surface_tags,
|
|
70
|
+
currentTestInteractionId: context.currentTestInteractionId,
|
|
71
|
+
currentTestSurfaceId: context.currentTestSurfaceId,
|
|
72
|
+
currentSurfaceRunId: context.currentSurfaceRunId ?? null,
|
|
73
|
+
beginningPageStateId: context.beginningPageStateId,
|
|
74
|
+
currentPageStateId: context.currentPageStateId,
|
|
75
|
+
currentPath: context.currentPath,
|
|
76
|
+
actionableItemsCount: context.actionableItems.length,
|
|
77
|
+
formsCount: context.forms.length,
|
|
78
|
+
scaffoldsCount: context.scaffolds.length,
|
|
79
|
+
});
|
|
62
80
|
const normalizedContext = this.normalizeContext(context);
|
|
63
81
|
const currentPageStateId = await this.ensureTargetPageState(normalizedContext);
|
|
64
82
|
const resolvedContext = {
|
|
65
83
|
...normalizedContext,
|
|
66
84
|
currentPageStateId,
|
|
67
85
|
};
|
|
86
|
+
logAnalyzer("generate:resolved-context", {
|
|
87
|
+
sourceTitle: testInteraction.title,
|
|
88
|
+
sourceType: testInteraction.type,
|
|
89
|
+
currentTestInteractionId: resolvedContext.currentTestInteractionId,
|
|
90
|
+
currentTestSurfaceId: resolvedContext.currentTestSurfaceId,
|
|
91
|
+
currentSurfaceRunId: resolvedContext.currentSurfaceRunId ?? null,
|
|
92
|
+
beginningPageStateId: resolvedContext.beginningPageStateId,
|
|
93
|
+
currentPageStateId: resolvedContext.currentPageStateId,
|
|
94
|
+
currentPath: resolvedContext.currentPath,
|
|
95
|
+
});
|
|
68
96
|
if (this.isHoverOnly(testInteraction)) {
|
|
97
|
+
logAnalyzer("generate:hover-only", {
|
|
98
|
+
sourceTitle: testInteraction.title,
|
|
99
|
+
currentTestInteractionId: resolvedContext.currentTestInteractionId,
|
|
100
|
+
currentPageStateId: resolvedContext.currentPageStateId,
|
|
101
|
+
});
|
|
69
102
|
await generateHoverFollowUpCases(this, testInteraction, resolvedContext);
|
|
70
103
|
return;
|
|
71
104
|
}
|
|
105
|
+
logAnalyzer("generate:full-pass", {
|
|
106
|
+
sourceTitle: testInteraction.title,
|
|
107
|
+
currentTestInteractionId: resolvedContext.currentTestInteractionId,
|
|
108
|
+
currentPageStateId: resolvedContext.currentPageStateId,
|
|
109
|
+
});
|
|
72
110
|
await generateRenderTestInteractions(this, resolvedContext);
|
|
73
111
|
await generateFormTestInteractions(this, resolvedContext);
|
|
74
112
|
await generateSemanticJourneyTestInteractions(this, resolvedContext);
|
|
@@ -84,8 +122,15 @@ export class PageAnalyzer {
|
|
|
84
122
|
const surface = params.surfaceId != null
|
|
85
123
|
? { id: params.surfaceId, title: params.surfaceTitle }
|
|
86
124
|
: await this.findExistingSurfaceByTitle(context, params.surfaceTitle);
|
|
87
|
-
if (!surface)
|
|
125
|
+
if (!surface) {
|
|
126
|
+
logAnalyzer("reconcile:surface-missing", {
|
|
127
|
+
requestedSurfaceId: params.surfaceId ?? null,
|
|
128
|
+
requestedSurfaceTitle: params.surfaceTitle,
|
|
129
|
+
dependencyTestInteractionId: params.dependencyTestInteractionId ?? null,
|
|
130
|
+
desiredKeysCount: params.desiredKeys.length,
|
|
131
|
+
});
|
|
88
132
|
return;
|
|
133
|
+
}
|
|
89
134
|
const existing = await context.api.getTestInteractionsByTestSurface(surface.id, true);
|
|
90
135
|
const desiredKeys = new Set(params.desiredKeys.map(key => key.trim()).filter(Boolean));
|
|
91
136
|
const obsoleteIds = existing
|
|
@@ -104,9 +149,22 @@ export class PageAnalyzer {
|
|
|
104
149
|
return !existingKey || !desiredKeys.has(existingKey);
|
|
105
150
|
})
|
|
106
151
|
.map(testInteraction => testInteraction.id);
|
|
152
|
+
logAnalyzer("reconcile:evaluated", {
|
|
153
|
+
surfaceId: surface.id,
|
|
154
|
+
surfaceTitle: surface.title,
|
|
155
|
+
dependencyTestInteractionId: params.dependencyTestInteractionId ?? null,
|
|
156
|
+
desiredKeysCount: desiredKeys.size,
|
|
157
|
+
existingCount: existing.length,
|
|
158
|
+
obsoleteIds,
|
|
159
|
+
});
|
|
107
160
|
if (obsoleteIds.length === 0)
|
|
108
161
|
return;
|
|
109
162
|
await context.api.retireTestInteractions(obsoleteIds);
|
|
163
|
+
logAnalyzer("reconcile:retired", {
|
|
164
|
+
surfaceId: surface.id,
|
|
165
|
+
surfaceTitle: surface.title,
|
|
166
|
+
obsoleteIds,
|
|
167
|
+
});
|
|
110
168
|
}
|
|
111
169
|
async findExistingSurfaceByTitle(context, title) {
|
|
112
170
|
const surfaces = await context.api.getTestSurfacesByRunner(context.runnerId);
|
|
@@ -125,12 +183,23 @@ export class PageAnalyzer {
|
|
|
125
183
|
const openSurfaceRuns = await api.getOpenTestSurfaceRuns(bundleRunId);
|
|
126
184
|
const existing = openSurfaceRuns.find(surfaceRun => surfaceRun.testSurfaceId === testSurfaceId);
|
|
127
185
|
if (existing) {
|
|
186
|
+
logAnalyzer("surface-run:reused", {
|
|
187
|
+
bundleRunId,
|
|
188
|
+
testSurfaceId,
|
|
189
|
+
surfaceRunId: existing.id,
|
|
190
|
+
});
|
|
128
191
|
return existing;
|
|
129
192
|
}
|
|
130
|
-
|
|
193
|
+
const created = await api.createTestSurfaceRun({
|
|
131
194
|
testSurfaceId,
|
|
132
195
|
testSurfaceBundleRunId: bundleRunId,
|
|
133
196
|
});
|
|
197
|
+
logAnalyzer("surface-run:created", {
|
|
198
|
+
bundleRunId,
|
|
199
|
+
testSurfaceId,
|
|
200
|
+
surfaceRunId: created.id,
|
|
201
|
+
});
|
|
202
|
+
return created;
|
|
134
203
|
}
|
|
135
204
|
isMouseActionable(item) {
|
|
136
205
|
return (item.visible &&
|
|
@@ -185,7 +254,7 @@ export class PageAnalyzer {
|
|
|
185
254
|
type: "interaction",
|
|
186
255
|
sizeClass,
|
|
187
256
|
surface_tags: ["interaction", "hover"],
|
|
188
|
-
priority:
|
|
257
|
+
priority: 1,
|
|
189
258
|
dependencyTestInteractionId,
|
|
190
259
|
startingPageStateId,
|
|
191
260
|
startingPath,
|
|
@@ -1776,7 +1845,7 @@ export class PageAnalyzer {
|
|
|
1776
1845
|
inputType === "radio" ||
|
|
1777
1846
|
inputType === "checkbox");
|
|
1778
1847
|
}
|
|
1779
|
-
buildControlInteractionTestInteraction(item, startingPath, sizeClass, uid, startingPageStateId) {
|
|
1848
|
+
buildControlInteractionTestInteraction(item, startingPath, sizeClass, uid, startingPageStateId, dependencyTestInteractionId) {
|
|
1780
1849
|
const label = this.describeActionableItem(item);
|
|
1781
1850
|
const role = (item.role ?? "").toLowerCase();
|
|
1782
1851
|
const inputType = (item.inputType ?? "").toLowerCase();
|
|
@@ -1842,6 +1911,7 @@ export class PageAnalyzer {
|
|
|
1842
1911
|
role || inputType || item.actionKind || "control",
|
|
1843
1912
|
],
|
|
1844
1913
|
priority: 3,
|
|
1914
|
+
dependencyTestInteractionId,
|
|
1845
1915
|
startingPageStateId,
|
|
1846
1916
|
startingPath,
|
|
1847
1917
|
steps: [
|
|
@@ -1862,7 +1932,7 @@ export class PageAnalyzer {
|
|
|
1862
1932
|
? `${label} should remain non-interactive despite appearing disabled`
|
|
1863
1933
|
: `${label} should react without runtime errors`),
|
|
1864
1934
|
uid,
|
|
1865
|
-
generatedKey: this.buildGeneratedKey("control", startingPageStateId, isImmutable ? "immutable" : "enabled", role || inputType || item.actionKind || "control", item.stableKey ?? item.selector ?? label),
|
|
1935
|
+
generatedKey: this.buildGeneratedKey("control", startingPageStateId, dependencyTestInteractionId, isImmutable ? "immutable" : "enabled", role || inputType || item.actionKind || "control", item.stableKey ?? item.selector ?? label),
|
|
1866
1936
|
};
|
|
1867
1937
|
}
|
|
1868
1938
|
buildImmutableControlExpectations(item, label) {
|