v0.3.7-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-backfill-desk/tests/desktop_contract.rs
|
||||
// version: 7
|
||||
// version: 8
|
||||
|
||||
//! Structural desktop contract checks for the Backfill Desk scaffold.
|
||||
|
||||
@@ -245,13 +245,13 @@ fn pre_006_mainnet_default_and_http_route_selector_are_explicit_without_start_ru
|
||||
assert!(frontend.contains("backfill_options"));
|
||||
let html = read_text(root.join("frontend/main.html").as_path());
|
||||
assert!(html.contains("backfillHttpRoute"));
|
||||
for forbidden in ["backfill_start", "BackfillJobRuntime", "grpc", "websocket"] {
|
||||
for forbidden in ["grpc", "websocket"] {
|
||||
assert!(!frontend.contains(forbidden), "pre.006 frontend opens deferred runtime marker {forbidden}");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_007_campaign_dto_and_backend_mapping_exist_without_start_runtime() {
|
||||
fn pre_007_campaign_dto_and_backend_mapping_remain_the_authoritative_start_input() {
|
||||
let root = app_root();
|
||||
let manifest = read_text(root.join("Cargo.toml").as_path());
|
||||
assert!(manifest.contains("ksp-job-api = { path = \"../ksp-job-api\" }"));
|
||||
@@ -291,8 +291,38 @@ fn pre_007_campaign_dto_and_backend_mapping_exist_without_start_runtime() {
|
||||
assert!(frontend.contains("backfill_validate_request"));
|
||||
assert!(frontend.contains("Backfill Desk campaign validation requested"));
|
||||
assert!(frontend.contains("Aucun job n'a été démarré"));
|
||||
for forbidden in ["backfill_start", "BackfillJobRuntime", "BackfillJobHandle"] {
|
||||
assert!(!frontend.contains(forbidden), "pre.007 frontend opens deferred Start/runtime marker {forbidden}");
|
||||
assert!(!tauri.contains(forbidden), "pre.007 Tauri surface opens deferred Start/runtime marker {forbidden}");
|
||||
}
|
||||
assert!(frontend.contains("backfill_validate_request"));
|
||||
assert!(tauri.contains("backfill_validate_request"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_008_start_installs_handle_before_non_blocking_spawn_and_keeps_single_run_backend_owned() {
|
||||
let root = app_root();
|
||||
let state = read_text(root.join("src/app_state.rs").as_path());
|
||||
let run = read_text(root.join("src/backfill_run.rs").as_path());
|
||||
let tauri = read_text(root.join("src/tauri.rs").as_path());
|
||||
let html = read_text(root.join("frontend/main.html").as_path());
|
||||
let frontend = read_text(root.join("frontend/ts/main.ts").as_path());
|
||||
assert!(state.contains("BackfillJobRuntime::new(mapped)"));
|
||||
let handle_index = state.find("let handle = runtime.handle();");
|
||||
let install_index = state.find("self.backfill_runs.install(job_id.clone(), handle)");
|
||||
assert!(handle_index.is_some());
|
||||
assert!(install_index.is_some());
|
||||
if let (std::option::Option::Some(handle_index), std::option::Option::Some(install_index)) = (handle_index, install_index) {
|
||||
assert!(handle_index < install_index);
|
||||
}
|
||||
assert!(run.contains("ERROR_CODE_BACKFILL_RUN_ACTIVE"));
|
||||
assert!(run.contains("std::sync::Mutex<std::option::Option<ActiveBackfillRun>>"));
|
||||
assert!(tauri.contains("backfill_start"));
|
||||
let prepare_index = tauri.find("state.prepare_backfill_start(request)");
|
||||
let spawn_index = tauri.find("tauri::async_runtime::spawn(async move");
|
||||
assert!(prepare_index.is_some());
|
||||
assert!(spawn_index.is_some());
|
||||
if let (std::option::Option::Some(prepare_index), std::option::Option::Some(spawn_index)) = (prepare_index, spawn_index) {
|
||||
assert!(prepare_index < spawn_index);
|
||||
}
|
||||
assert!(html.contains("startBackfillRequest"));
|
||||
assert!(html.contains("Démarrer le backfill"));
|
||||
assert!(frontend.contains("Backfill Desk campaign Start requested"));
|
||||
assert!(frontend.contains("backfill_start"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user