test(techdemo): shorten generated resource paths

Import scoped generated handles and slots in techdemo tests so assertions read as local resources instead of fully-qualified generated paths.

req: component/003

req: dx/006
This commit is contained in:
slhx agent
2026-06-01 23:03:34 +02:00
parent ef3323831f
commit a8d4604da8
2 changed files with 23 additions and 20 deletions
+11 -9
View File
@@ -1,6 +1,8 @@
use scraper::{Html, Selector};
use slhx::{Effect, EffectBatch, Payload, EFFECT_BATCH_ABI_VERSION};
use slhx_techdemo::ui;
use slhx_techdemo::ui::BUILD_FINGERPRINT;
use slhx_techdemo::ui::issue_card::handles as card_handles;
use slhx_techdemo::ui::issue_lane::handles as lane_handles;
use std::io::{Read, Write};
use std::net::TcpStream;
use std::process::{Child, Command, Stdio};
@@ -116,32 +118,32 @@ fn product_is_e2e_working_over_http() {
let move_to_lane = post(
"/",
&format!("__h={}&work_id=4&lane=runtime", ui::issue_lane::handles::move_to_lane),
&format!("__h={}&work_id=4&lane=runtime", lane_handles::move_to_lane),
);
assert_effect_response(&move_to_lane);
let move_to_lane_batch = move_to_lane.batch();
assert_card(&move_to_lane_batch, "Design hero moment", "Runtime", "Active", "width:99%");
assert_payload_contains(&move_to_lane_batch, "Drag-and-drop move persisted");
let inspect = post("/", &format!("__h={}&work_id=4", ui::issue_card::handles::spotlight_work));
let inspect = post("/", &format!("__h={}&work_id=4", card_handles::spotlight_work));
assert_effect_response(&inspect);
let inspect_batch = inspect.batch();
assert_payload_contains(&inspect_batch, "Design hero moment · lane=Runtime");
assert_payload_contains(&inspect_batch, "Inspector focused");
let advance = post("/", &format!("__h={}&work_id=4", ui::issue_card::handles::advance_work));
let advance = post("/", &format!("__h={}&work_id=4", card_handles::advance_work));
assert_effect_response(&advance);
let advance_batch = advance.batch();
assert_payload_contains(&advance_batch, "Pipeline advanced");
assert_payload_contains(&advance_batch, "<span class=\"pill\">Active</span>");
let advance_default = post("/", &format!("__h={}&work_id=5", ui::issue_card::handles::advance_work));
let advance_default = post("/", &format!("__h={}&work_id=5", card_handles::advance_work));
assert_effect_response(&advance_default);
let advance_default_batch = advance_default.batch();
assert_payload_contains(&advance_default_batch, "Default impact");
assert_card(&advance_default_batch, "Default impact", "Compiler", "Active", "width:55%");
let ship_default = post("/", &format!("__h={}&work_id=5", ui::issue_card::handles::advance_work));
let ship_default = post("/", &format!("__h={}&work_id=5", card_handles::advance_work));
assert_effect_response(&ship_default);
let ship_default_batch = ship_default.batch();
assert_card(&ship_default_batch, "Default impact", "Product", "Shipped", "width:55%");
@@ -154,12 +156,12 @@ fn product_is_e2e_working_over_http() {
assert_payload_contains(&push_batch, "Simulated push event produced the same EffectBatch shape");
assert_emit(&push_batch, "slhx:island-orbit", "activity rows");
let delete_missing = post("/", &format!("__h={}&work_id=999", ui::issue_card::handles::delete_work));
let delete_missing = post("/", &format!("__h={}&work_id=999", card_handles::delete_work));
assert_effect_response(&delete_missing);
let delete_missing_batch = delete_missing.batch();
assert_payload_not_contains(&delete_missing_batch, "Deleted card #999");
let delete = post("/", &format!("__h={}&work_id=4", ui::issue_card::handles::delete_work));
let delete = post("/", &format!("__h={}&work_id=4", card_handles::delete_work));
assert_effect_response(&delete);
let delete_batch = delete.batch();
assert_payload_contains(&delete_batch, "Card removed");
@@ -187,7 +189,7 @@ fn product_is_e2e_working_over_http() {
fn assert_effect_response(response: &Response) {
assert_eq!(response.status, 200);
assert!(response.header("content-type").contains("application/slhx"));
assert_eq!(response.header("x-slhx-fingerprint"), ui::BUILD_FINGERPRINT.0.to_string());
assert_eq!(response.header("x-slhx-fingerprint"), BUILD_FINGERPRINT.0.to_string());
let batch = response.batch();
assert_eq!(batch.abi_version, EFFECT_BATCH_ABI_VERSION);
assert!(!batch.ops.is_empty());