v0.2.6-pre.009
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-wallet-desk/tests/desktop_contract.rs
|
||||
// version: 8
|
||||
// version: 9
|
||||
|
||||
//! Desktop build, shell and Config-status contract audits for Wallet Desk.
|
||||
|
||||
@@ -223,3 +223,33 @@ fn pre_008_import_uses_rust_native_picker_and_wallet_transfer_adapters() {
|
||||
assert!(main.contains("WalletTransferInspectionDto"));
|
||||
assert!(main.contains("bindImportWalletForm"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_009_owner_metadata_administration_uses_wallet_owner_and_refreshes_projection() {
|
||||
let root = app_root();
|
||||
let state = read_text(root.join("src/app_state.rs").as_path());
|
||||
let metadata = read_text(root.join("src/wallet_metadata.rs").as_path());
|
||||
let session = read_text(root.join("src/wallet_session.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 main = read_text(root.join("frontend/ts/main.ts").as_path());
|
||||
assert!(state.contains("owner.update_alias"));
|
||||
assert!(state.contains("owner.add_note"));
|
||||
assert!(state.contains("owner.update_note"));
|
||||
assert!(state.contains("owner.delete_note"));
|
||||
assert!(state.contains("ERROR_CODE_STATE_CONFLICT"));
|
||||
assert!(session.contains("OwnerOperation"));
|
||||
assert!(metadata.contains("WalletAliasUpdateRequestDto"));
|
||||
assert!(metadata.contains("WalletNoteAddRequestDto"));
|
||||
assert!(metadata.contains("WalletNoteUpdateRequestDto"));
|
||||
assert!(metadata.contains("WalletNoteDeleteRequestDto"));
|
||||
assert!(tauri.contains("update_wallet_alias"));
|
||||
assert!(tauri.contains("add_wallet_note"));
|
||||
assert!(tauri.contains("update_wallet_note"));
|
||||
assert!(tauri.contains("delete_wallet_note"));
|
||||
assert!(html.contains("id=\"ownerWalletAlias\""));
|
||||
assert!(html.contains("id=\"ownerNotesList\""));
|
||||
assert!(html.contains("id=\"deleteWalletNoteModal\""));
|
||||
assert!(main.contains("runOwnerMetadataMutation"));
|
||||
assert!(main.contains("recoverOwnerMetadataStateConflict"));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-wallet-desk/tests/desktop_security.rs
|
||||
// version: 8
|
||||
// version: 9
|
||||
|
||||
//! Static desktop security contracts for the Wallet Desk pre.002 shell.
|
||||
|
||||
@@ -162,3 +162,24 @@ fn import_picker_path_and_transfer_secret_never_cross_into_frontend() {
|
||||
assert!(command.contains("WalletImportSourceRequestDto"));
|
||||
assert!(!command.contains("source_path"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn owner_metadata_values_are_request_only_and_state_conflict_forces_reauthorization() {
|
||||
let root = app_root();
|
||||
let metadata = read_text(root.join("src/wallet_metadata.rs").as_path());
|
||||
let state = read_text(root.join("src/app_state.rs").as_path());
|
||||
let main = read_text(root.join("frontend/ts/main.ts").as_path());
|
||||
assert!(!metadata.contains("derive(Clone"));
|
||||
assert!(!metadata.contains("derive(Debug"));
|
||||
assert!(state.contains("recover_owner_metadata_state_conflict"));
|
||||
assert!(state.contains("inspect_locked_wallet_file_v1"));
|
||||
assert!(state.contains("ERROR_CODE_STATE_CONFLICT"));
|
||||
assert!(main.contains("isWalletStateConflict"));
|
||||
assert!(main.contains("select_wallet"));
|
||||
assert!(main.contains("clearAuthorizedProjection"));
|
||||
assert!(!main.contains("frontendDebug(\"main\", request.text"));
|
||||
assert!(!main.contains("frontendTrace(\"main\", request.text"));
|
||||
assert!(!main.contains("frontendDebug(\"main\", request.alias"));
|
||||
assert!(!main.contains("window.confirm"));
|
||||
assert!(main.contains("new Modal(modalElement)"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user