perf(report): load side wrinkle layers after report entry

This commit is contained in:
xsl
2026-10-16 16:34:11 +08:00
parent b19811f974
commit 9181069643
8 changed files with 256 additions and 8 deletions
+8 -2
View File
@@ -61,7 +61,12 @@ try {
assert.equal(result.report_saved, true);
assert(result.vm && result.presentation);
assert.equal(result.wrinkle_views.version,'independent-side-wrinkles-v1');
assert.equal(result.wrinkle_views.left.status,'ready');assert.equal(result.wrinkle_views.right.status,'ready');
assert.equal(result.wrinkle_views.left.status,'pending');assert.equal(result.wrinkle_views.right.status,'pending');
assert(result.wrinkle_job.token);
const layers = await (await api.post(base+'api/wrinkle-views',{data:{token:result.wrinkle_job.token}})).json();
assert.equal(layers.ok,true);assert.equal(layers.wrinkle_views.left.status,'ready');assert.equal(layers.wrinkle_views.right.status,'ready');
const cachedLayers = await (await api.post(base+'api/wrinkle-views',{data:{token:result.wrinkle_job.token}})).json();
assert.deepEqual(cachedLayers,layers);
const expectedTotal = Math.round(result.vm.dims.firm.S * 4 + result.vm.dims.vita.S * 3 + result.vm.dims.stab.S * 3);
assert.equal(result.vm.total, expectedTotal);
assert.notEqual(expectedTotal, result.result.score_info.total_score, 'fixture distinguishes weighted score from API total');
@@ -104,7 +109,8 @@ try {
const snapshot = await (await api.get(base + 'api/reports/' + result.record_id)).json();
assert.equal(snapshot.report.photos.length, 3);
assert.deepEqual(snapshot.report.presentation, result.presentation);
assert.deepEqual(snapshot.report.payload.wrinkle_views,result.wrinkle_views);
assert.deepEqual(snapshot.report.payload.wrinkle_views,layers.wrinkle_views);
assert.equal(snapshot.report.payload.wrinkle_job.status,'complete');
assert.deepEqual(snapshot.report.payload.result.face_maps, result.result.face_maps);
assert.equal(snapshot.report.photos[0], fixture.photos[0]);
assert.equal(snapshot.report.photos[1],fixture.photos[0]); // This HTTP test submits the same fixture for all three views.