diff --git a/server-rs/crates/api-server/src/app.rs b/server-rs/crates/api-server/src/app.rs index 27b0752a4..fd439acc6 100644 --- a/server-rs/crates/api-server/src/app.rs +++ b/server-rs/crates/api-server/src/app.rs @@ -6235,8 +6235,16 @@ mod tests { .expect("后台定价必须返回版本"); let mut model3d = before["model3d"].clone(); assert!(!model3d.is_null(), "默认定价必须带 3D 两段"); - model3d["textToModelPricing"]["addOnPrices"]["quadMesh"] = Value::Number(9.into()); - model3d["imageToModelPricing"]["versionPrices"]["P2-20260801"]["texture"] = + // 先按路径读到目标键再改:`Value::index_mut` 在键缺失时直接 panic,默认定价 + // 一旦换版本号或重命名键,只会看到一个没有上下文的 panic。先断言存在, + // fixture 漂移时就能看清是哪一层对不上。 + *model3d + .pointer_mut("/textToModelPricing/addOnPrices/quadMesh") + .expect("默认定价必须带 textToModelPricing.addOnPrices.quadMesh") = + Value::Number(9.into()); + *model3d + .pointer_mut("/imageToModelPricing/versionPrices/P2-20260801/texture") + .expect("默认定价必须带 imageToModelPricing.versionPrices.P2-20260801.texture") = Value::Number(99.into()); let response = save_admin_editor_generation_pricing(