Skip to content

Commit 26964a7

Browse files
author
DavidQ
committed
Clean Playwright test script ownership for Workspace V2 tool suites - PR_26126_109-test-script-ssot-cleanup
1 parent 265c9d7 commit 26964a7

7 files changed

Lines changed: 112 additions & 118 deletions
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# PR_26126_109 Manual Validation Notes
2+
3+
## Commands
4+
- `node -e "JSON.parse(require('fs').readFileSync('package.json','utf8')); console.log('package.json ok')"`
5+
- `npm run test:asset-manager-v2`
6+
- `npm run test:preview-generator-v2`
7+
- `npm run test:workspace-v2`
8+
- `git diff --check`
9+
10+
## Results
11+
- `package.json` parses successfully after script updates.
12+
- `npm run test:asset-manager-v2` passed 7/7 Playwright tests.
13+
- `npm run test:preview-generator-v2` passed 7/7 Playwright tests.
14+
- `npm run test:workspace-v2` passed 14/14 Playwright tests.
15+
- Playwright impacted: Yes, script ownership for existing Playwright gates changed.
16+
- Full samples smoke test skipped: this PR changes only Playwright script SSoT wiring and does not modify shared sample loaders/frameworks or sample JSON.
17+
- No sample JSON was modified.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# PR_26126_109 Test Script SSoT Notes
2+
3+
## Script Ownership
4+
- Added `npm run test:asset-manager-v2` as the dedicated Asset Manager V2 Playwright SSoT script.
5+
- Added `npm run test:preview-generator-v2` as the dedicated Preview Generator V2 Playwright SSoT script.
6+
- Kept `npm run test:workspace-v2` as the aggregate Workspace V2/tool completion gate.
7+
8+
## Aggregate Gate
9+
- `test:workspace-v2` includes both dedicated suites in one Playwright invocation:
10+
- `tests/playwright/AssetManagerV2.spec.mjs`
11+
- `tests/playwright/PreviewGeneratorV2Baseline.spec.mjs`
12+
- The aggregate script uses `--workers=1` so the shared Playwright/V8 coverage reporter writes one combined report after the aggregate validation.
13+
14+
## Scope
15+
- No Asset Manager V2 runtime behavior was changed.
16+
- No Preview Generator V2 runtime behavior was changed.
17+
- No sample JSON was modified.
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# git status --short
22
M docs/dev/reports/coverage_changed_js_guardrail.txt
33
M docs/dev/reports/playwright_v8_coverage_report.txt
4-
M tools/asset-manager-v2/js/AssetManagerV2App.js
5-
?? docs/dev/reports/PR_26126_108_asset_manager_v2_final_code_review_notes.md
6-
?? docs/dev/reports/PR_26126_108_asset_manager_v2_manual_validation_notes.md
4+
M package.json
5+
?? docs/dev/reports/PR_26126_109_manual_validation_notes.md
6+
?? docs/dev/reports/PR_26126_109_test_script_ssot_notes.md
77

88
# git ls-files --others --exclude-standard
9-
docs/dev/reports/PR_26126_108_asset_manager_v2_final_code_review_notes.md
10-
docs/dev/reports/PR_26126_108_asset_manager_v2_manual_validation_notes.md
9+
docs/dev/reports/PR_26126_109_manual_validation_notes.md
10+
docs/dev/reports/PR_26126_109_test_script_ssot_notes.md
1111

1212
# git diff --stat
13-
docs/dev/reports/coverage_changed_js_guardrail.txt | 2 +-
14-
docs/dev/reports/playwright_v8_coverage_report.txt | 8 +++-----
15-
tools/asset-manager-v2/js/AssetManagerV2App.js | 11 -----------
16-
3 files changed, 4 insertions(+), 17 deletions(-)
13+
docs/dev/reports/coverage_changed_js_guardrail.txt | 1 -
14+
docs/dev/reports/playwright_v8_coverage_report.txt | 3 ---
15+
package.json | 4 +++-
16+
3 files changed, 3 insertions(+), 5 deletions(-)

docs/dev/reports/codex_review.diff

Lines changed: 66 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1,130 +1,92 @@
11
diff --git a/docs/dev/reports/coverage_changed_js_guardrail.txt b/docs/dev/reports/coverage_changed_js_guardrail.txt
2-
index 796c3f4c..9dce032d 100644
2+
index 9dce032d..8734cd5a 100644
33
--- a/docs/dev/reports/coverage_changed_js_guardrail.txt
44
+++ b/docs/dev/reports/coverage_changed_js_guardrail.txt
5-
@@ -6,7 +6,7 @@ Missing changed runtime JS files are WARN, not FAIL.
6-
Source: Playwright/Chromium built-in V8 coverage from npm run test:workspace-v2.
5+
@@ -7,7 +7,6 @@ Source: Playwright/Chromium built-in V8 coverage from npm run test:workspace-v2.
76

87
Changed runtime JS files considered:
9-
-(91%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 630/630; executed functions 51/56
10-
+(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
11-
(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - executed lines 38/38; executed functions 3/3
8+
(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
9+
-(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - executed lines 38/38; executed functions 3/3
1210

1311
Guardrail warnings:
12+
(100%) none - no changed runtime JS coverage warnings
1413
diff --git a/docs/dev/reports/playwright_v8_coverage_report.txt b/docs/dev/reports/playwright_v8_coverage_report.txt
15-
index 1cce2f87..14649f97 100644
14+
index 14649f97..eadfdebc 100644
1615
--- a/docs/dev/reports/playwright_v8_coverage_report.txt
1716
+++ b/docs/dev/reports/playwright_v8_coverage_report.txt
18-
@@ -20,7 +20,7 @@ Exercised tool entry points detected:
19-
(0%) Workspace Manager - not exercised by this Playwright run
17+
@@ -21,7 +21,6 @@ Exercised tool entry points detected:
2018

2119
Changed runtime JS files covered:
22-
-(91%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 630/630; executed functions 51/56
23-
+(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
24-
(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - executed lines 38/38; executed functions 3/3
20+
(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
21+
-(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - executed lines 38/38; executed functions 3/3
2522

2623
Files with executed line/function counts where available:
27-
@@ -129,9 +129,9 @@ Files with executed line/function counts where available:
28-
(88%) tools/workspace-v2/index.js - executed lines 125/125; executed functions 15/17
29-
(90%) tools/preview-generator-v2/PreviewGeneratorV2App.js - executed lines 539/539; executed functions 52/58
30-
(91%) tools/asset-manager-v2/js/assetManagerMetadata.js - executed lines 328/328; executed functions 30/33
31-
-(91%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 630/630; executed functions 51/56
32-
(92%) tools/asset-manager-v2/js/controls/AssetFormControl.js - executed lines 531/531; executed functions 55/60
33-
(92%) tools/templates-v2/js/controls/ToolStarterShellControl.js - executed lines 111/111; executed functions 11/12
34-
+(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
35-
(93%) tools/asset-manager-v2/js/services/WorkspaceBridge.js - executed lines 146/146; executed functions 14/15
36-
(100%) samples/phase-01/0102/KeyboardMoveScene.js - executed lines 78/78; executed functions 6/6
37-
(100%) samples/phase-01/0102/main.js - executed lines 23/23; executed functions 1/1
38-
@@ -198,8 +198,6 @@ Uncovered or low-coverage changed JS files:
24+
(2%) src/engine/input/ActionInputService.js - executed lines 397/397; executed functions 1/51
25+
@@ -198,6 +197,4 @@ Uncovered or low-coverage changed JS files:
3926
(100%) none - no low-coverage changed runtime JS files
4027

4128
Changed JS files considered:
42-
-(0%) tests/helpers/workspaceV2CoverageReporter.mjs - changed JS file not collected as browser runtime coverage
43-
(0%) tests/playwright/AssetManagerV2.spec.mjs - changed JS file not collected as browser runtime coverage
44-
-(0%) tests/playwright/PreviewGeneratorV2Baseline.spec.mjs - changed JS file not collected as browser runtime coverage
45-
-(91%) tools/asset-manager-v2/js/AssetManagerV2App.js - changed JS file with browser V8 coverage
46-
+(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - changed JS file with browser V8 coverage
47-
(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - changed JS file with browser V8 coverage
48-
diff --git a/tools/asset-manager-v2/js/AssetManagerV2App.js b/tools/asset-manager-v2/js/AssetManagerV2App.js
49-
index 901263eb..062306cc 100644
50-
--- a/tools/asset-manager-v2/js/AssetManagerV2App.js
51-
+++ b/tools/asset-manager-v2/js/AssetManagerV2App.js
52-
@@ -1,7 +1,5 @@
53-
import { readTemporaryUatWorkspaceContext } from "./services/TemporaryUatWorkspace.js";
54-
import { createAssetPreviewModel } from "./assetPreviewHelpers.js";
55-
-
56-
-const ASSET_MANAGER_TOOL_ID = "asset-manager-v2";
57-
const LAUNCH_GUARD_MESSAGE = "Asset Manager V2 is only available through Workspace Manager with a game workspace and palette.";
58-
59-
function clone(value) {
60-
@@ -247,15 +245,6 @@ export class AssetManagerV2App {
61-
};
62-
}
63-
64-
- currentToolState() {
65-
- return {
66-
- version: "v2",
67-
- toolId: ASSET_MANAGER_TOOL_ID,
68-
- assets: this.currentOutputAssets(),
69-
- payloadJson: this.currentPayload()
70-
- };
71-
- }
72-
-
73-
currentOutputAssets() {
74-
return sortedAssetEntries(this.assets).map(([id, entry]) => ({
75-
id,
76-
diff --git a/docs/dev/reports/PR_26126_108_asset_manager_v2_final_code_review_notes.md b/docs/dev/reports/PR_26126_108_asset_manager_v2_final_code_review_notes.md
77-
new file mode 100644
78-
index 00000000..1efb9571
79-
--- /dev/null
80-
+++ b/docs/dev/reports/PR_26126_108_asset_manager_v2_final_code_review_notes.md
81-
@@ -0,0 +1,23 @@
82-
+# PR_26126_108 Final Code Review Notes
83-
+
84-
+## Scope
85-
+- Applied final cleanup using `docs/dev/PROJECT_INSTRUCTIONS.md` as the repository source of truth.
86-
+- Kept changes limited to Asset Manager V2 runtime cleanup and required PR_26126_108 reports/shared review artifacts.
87-
+- Did not change `package.json`.
88-
+- Did not change `tests/playwright/PreviewGeneratorV2Baseline.spec.mjs`.
89-
+- Did not modify sample JSON.
90-
+
91-
+## Dead Code Cleanup
92-
+- Removed the unused `currentToolState()` method from `AssetManagerV2App`.
93-
+- Removed the now-unused `ASSET_MANAGER_TOOL_ID` constant.
94-
+- Verified no remaining `exportAssets`, `exportToolState`, `copyAssetsJson`, `currentToolState`, or `ASSET_MANAGER_TOOL_ID` references remain in Asset Manager V2 source/tests.
95-
+
96-
+## Test Ownership
97-
+- `tests/playwright/AssetManagerV2.spec.mjs` remains the SSoT for Asset Manager V2 Playwright coverage.
98-
+- `tests/playwright/PreviewGeneratorV2Baseline.spec.mjs` contains no Asset Manager V2-specific behavior/tests.
99-
+- Keyboard-navigation cleanup remains intact in active Asset Manager V2 source/tests.
100-
+
101-
+## Validation
102-
+- Playwright impacted: Yes.
103-
+- `npm run test:workspace-v2` passed 14/14 tests.
104-
+- Full samples smoke test was skipped because this PR is scoped to Asset Manager V2 cleanup and does not modify shared sample loaders/frameworks or sample JSON.
105-
diff --git a/docs/dev/reports/PR_26126_108_asset_manager_v2_manual_validation_notes.md b/docs/dev/reports/PR_26126_108_asset_manager_v2_manual_validation_notes.md
29+
-(0%) tests/playwright/AssetManagerV2.spec.mjs - changed JS file not collected as browser runtime coverage
30+
(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - changed JS file with browser V8 coverage
31+
-(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - changed JS file with browser V8 coverage
32+
diff --git a/package.json b/package.json
33+
index 29e1d2ef..64ea37af 100644
34+
--- a/package.json
35+
+++ b/package.json
36+
@@ -12,7 +12,9 @@
37+
"check:style-system-guard": "node tools/dev/checkStyleSystemGuard.mjs",
38+
"check:games-template-contract": "node ./scripts/validate-games-template-contract.mjs",
39+
"codex:review-artifacts": "node ./scripts/write-codex-review-artifacts.mjs",
40+
- "test:workspace-v2": "playwright test tests/playwright/PreviewGeneratorV2Baseline.spec.mjs tests/playwright/AssetManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list",
41+
+ "test:asset-manager-v2": "playwright test tests/playwright/AssetManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list",
42+
+ "test:preview-generator-v2": "playwright test tests/playwright/PreviewGeneratorV2Baseline.spec.mjs --project=playwright --workers=1 --reporter=list",
43+
+ "test:workspace-v2": "playwright test tests/playwright/AssetManagerV2.spec.mjs tests/playwright/PreviewGeneratorV2Baseline.spec.mjs --project=playwright --workers=1 --reporter=list",
44+
"test:launch-smoke": "node ./tests/runtime/LaunchSmokeAllEntries.test.mjs",
45+
"test:launch-smoke:games": "node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --games",
46+
"test:workspace-manager:games": "node ./tests/runtime/GamesIndexWorkspaceManagerOpen.test.mjs",
47+
diff --git a/docs/dev/reports/PR_26126_109_manual_validation_notes.md b/docs/dev/reports/PR_26126_109_manual_validation_notes.md
10648
new file mode 100644
107-
index 00000000..905cd4eb
49+
index 00000000..87081469
10850
--- /dev/null
109-
+++ b/docs/dev/reports/PR_26126_108_asset_manager_v2_manual_validation_notes.md
110-
@@ -0,0 +1,20 @@
111-
+# PR_26126_108 Manual Validation Notes
51+
+++ b/docs/dev/reports/PR_26126_109_manual_validation_notes.md
52+
@@ -0,0 +1,17 @@
53+
+# PR_26126_109 Manual Validation Notes
11254
+
11355
+## Commands
114-
+- `node --check tools/asset-manager-v2/js/AssetManagerV2App.js`
115-
+- `rg -n "ASSET_MANAGER_TOOL_ID|currentToolState\\(|exportAssets\\(|exportToolState\\(|copyAssetsJson\\(" tools\asset-manager-v2 tests\playwright\AssetManagerV2.spec.mjs tests\playwright\PreviewGeneratorV2Baseline.spec.mjs`
116-
+- `rg -n "KeyA|KeyS|KeyD|KeyW|ArrowLeft|ArrowRight|ArrowUp|ArrowDown|Home|End|PageUp|PageDown|Enter|keydown|keyup|data-asset-tile-id" tools\asset-manager-v2 tests\playwright\AssetManagerV2.spec.mjs`
117-
+- `rg -n "Asset Manager V2|asset-manager-v2|openAssetManagerV2|openWorkspaceV2|workspace=UAT|workspace=uat|AssetManagerV2" tests\playwright\PreviewGeneratorV2Baseline.spec.mjs`
118-
+- `git diff -- package.json tests\playwright\PreviewGeneratorV2Baseline.spec.mjs`
119-
+- `git diff --check`
56+
+- `node -e "JSON.parse(require('fs').readFileSync('package.json','utf8')); console.log('package.json ok')"`
57+
+- `npm run test:asset-manager-v2`
58+
+- `npm run test:preview-generator-v2`
12059
+- `npm run test:workspace-v2`
60+
+- `git diff --check`
12161
+
12262
+## Results
63+
+- `package.json` parses successfully after script updates.
64+
+- `npm run test:asset-manager-v2` passed 7/7 Playwright tests.
65+
+- `npm run test:preview-generator-v2` passed 7/7 Playwright tests.
12366
+- `npm run test:workspace-v2` passed 14/14 Playwright tests.
124-
+- Dead Asset Manager V2 export/copy/toolState helper methods are absent from active source/tests.
125-
+- Active Asset Manager V2 source/tests contain no listed keyboard-navigation key handling or assertions.
126-
+- `tests/playwright/AssetManagerV2.spec.mjs` remains the dedicated Asset Manager V2 Playwright suite.
127-
+- `tests/playwright/PreviewGeneratorV2Baseline.spec.mjs` has no Asset Manager V2-specific behavior/tests and has no PR_26126_108 diff.
128-
+- `package.json` has no PR_26126_108 diff.
129-
+- Full samples smoke test skipped: sample JSON and shared sample loading are out of scope for this Asset Manager V2 cleanup PR.
67+
+- Playwright impacted: Yes, script ownership for existing Playwright gates changed.
68+
+- Full samples smoke test skipped: this PR changes only Playwright script SSoT wiring and does not modify shared sample loaders/frameworks or sample JSON.
69+
+- No sample JSON was modified.
70+
diff --git a/docs/dev/reports/PR_26126_109_test_script_ssot_notes.md b/docs/dev/reports/PR_26126_109_test_script_ssot_notes.md
71+
new file mode 100644
72+
index 00000000..6335f4fd
73+
--- /dev/null
74+
+++ b/docs/dev/reports/PR_26126_109_test_script_ssot_notes.md
75+
@@ -0,0 +1,17 @@
76+
+# PR_26126_109 Test Script SSoT Notes
77+
+
78+
+## Script Ownership
79+
+- Added `npm run test:asset-manager-v2` as the dedicated Asset Manager V2 Playwright SSoT script.
80+
+- Added `npm run test:preview-generator-v2` as the dedicated Preview Generator V2 Playwright SSoT script.
81+
+- Kept `npm run test:workspace-v2` as the aggregate Workspace V2/tool completion gate.
82+
+
83+
+## Aggregate Gate
84+
+- `test:workspace-v2` includes both dedicated suites in one Playwright invocation:
85+
+ - `tests/playwright/AssetManagerV2.spec.mjs`
86+
+ - `tests/playwright/PreviewGeneratorV2Baseline.spec.mjs`
87+
+- The aggregate script uses `--workers=1` so the shared Playwright/V8 coverage reporter writes one combined report after the aggregate validation.
88+
+
89+
+## Scope
90+
+- No Asset Manager V2 runtime behavior was changed.
91+
+- No Preview Generator V2 runtime behavior was changed.
13092
+- No sample JSON was modified.

docs/dev/reports/coverage_changed_js_guardrail.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ Source: Playwright/Chromium built-in V8 coverage from npm run test:workspace-v2.
77

88
Changed runtime JS files considered:
99
(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
10-
(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - executed lines 38/38; executed functions 3/3
1110

1211
Guardrail warnings:
1312
(100%) none - no changed runtime JS coverage warnings

docs/dev/reports/playwright_v8_coverage_report.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Exercised tool entry points detected:
2121

2222
Changed runtime JS files covered:
2323
(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - executed lines 621/621; executed functions 51/55
24-
(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - executed lines 38/38; executed functions 3/3
2524

2625
Files with executed line/function counts where available:
2726
(2%) src/engine/input/ActionInputService.js - executed lines 397/397; executed functions 1/51
@@ -198,6 +197,4 @@ Uncovered or low-coverage changed JS files:
198197
(100%) none - no low-coverage changed runtime JS files
199198

200199
Changed JS files considered:
201-
(0%) tests/playwright/AssetManagerV2.spec.mjs - changed JS file not collected as browser runtime coverage
202200
(93%) tools/asset-manager-v2/js/AssetManagerV2App.js - changed JS file with browser V8 coverage
203-
(100%) tools/asset-manager-v2/js/services/TemporaryUatWorkspace.js - changed JS file with browser V8 coverage

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
"check:style-system-guard": "node tools/dev/checkStyleSystemGuard.mjs",
1313
"check:games-template-contract": "node ./scripts/validate-games-template-contract.mjs",
1414
"codex:review-artifacts": "node ./scripts/write-codex-review-artifacts.mjs",
15-
"test:workspace-v2": "playwright test tests/playwright/PreviewGeneratorV2Baseline.spec.mjs tests/playwright/AssetManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list",
15+
"test:asset-manager-v2": "playwright test tests/playwright/AssetManagerV2.spec.mjs --project=playwright --workers=1 --reporter=list",
16+
"test:preview-generator-v2": "playwright test tests/playwright/PreviewGeneratorV2Baseline.spec.mjs --project=playwright --workers=1 --reporter=list",
17+
"test:workspace-v2": "playwright test tests/playwright/AssetManagerV2.spec.mjs tests/playwright/PreviewGeneratorV2Baseline.spec.mjs --project=playwright --workers=1 --reporter=list",
1618
"test:launch-smoke": "node ./tests/runtime/LaunchSmokeAllEntries.test.mjs",
1719
"test:launch-smoke:games": "node ./tests/runtime/LaunchSmokeAllEntries.test.mjs --games",
1820
"test:workspace-manager:games": "node ./tests/runtime/GamesIndexWorkspaceManagerOpen.test.mjs",

0 commit comments

Comments
 (0)