merge branches and cleanup db

This commit is contained in:
timurgordon
2025-06-27 12:11:04 +03:00
parent 5563d7e27e
commit 1f9ec01934
177 changed files with 1202 additions and 174 deletions

View File

@@ -11,7 +11,7 @@ fn main() {
"Test User".to_string(),
"test@example.com".to_string(),
);
println!(" Signer created: {}", signer.name);
println!(" Status: {:?}", signer.status);
println!(" Signature data: {:?}", signer.signature_data);
@@ -23,14 +23,17 @@ fn main() {
println!("Test 2: Sign with signature data");
let signature_data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==".to_string();
let comments = "I agree to all terms and conditions.".to_string();
signer.sign(Some(signature_data.clone()), Some(comments.clone()));
println!(" Status after signing: {:?}", signer.status);
println!(" Signed at: {:?}", signer.signed_at);
println!(" Comments: {:?}", signer.comments);
println!(" Signature data length: {}", signer.signature_data.as_ref().unwrap().len());
println!(
" Signature data length: {}",
signer.signature_data.as_ref().unwrap().len()
);
assert_eq!(signer.status, SignerStatus::Signed);
assert!(signer.signed_at.is_some());
assert_eq!(signer.signature_data, Some(signature_data));
@@ -44,13 +47,16 @@ fn main() {
"Test User 2".to_string(),
"test2@example.com".to_string(),
);
signer2.sign(None, Some("Electronic signature without visual data".to_string()));
signer2.sign(
None,
Some("Electronic signature without visual data".to_string()),
);
println!(" Status: {:?}", signer2.status);
println!(" Signature data: {:?}", signer2.signature_data);
println!(" Comments: {:?}", signer2.comments);
assert_eq!(signer2.status, SignerStatus::Signed);
assert_eq!(signer2.signature_data, None);
assert!(signer2.comments.is_some());
@@ -63,13 +69,13 @@ fn main() {
"Test User 3".to_string(),
"test3@example.com".to_string(),
);
signer3.sign(None, None);
println!(" Status: {:?}", signer3.status);
println!(" Signature data: {:?}", signer3.signature_data);
println!(" Comments: {:?}", signer3.comments);
assert_eq!(signer3.status, SignerStatus::Signed);
assert_eq!(signer3.signature_data, None);
assert_eq!(signer3.comments, None);
@@ -88,16 +94,25 @@ fn main() {
println!(" Signer: {}", signer_with_signature.name);
println!(" Status: {:?}", signer_with_signature.status);
println!(" Signature data: {:?}", signer_with_signature.signature_data);
println!(
" Signature data: {:?}",
signer_with_signature.signature_data
);
println!(" Comments: {:?}", signer_with_signature.comments);
assert_eq!(signer_with_signature.signature_data, Some("data:image/png;base64,example".to_string()));
assert_eq!(
signer_with_signature.signature_data,
Some("data:image/png;base64,example".to_string())
);
println!(" ✓ Builder pattern with signature data works correctly\n");
// Test 6: Clear signature data
println!("Test 6: Clear signature data");
let cleared_signer = signer_with_signature.clear_signature_data();
println!(" Signature data after clear: {:?}", cleared_signer.signature_data);
println!(
" Signature data after clear: {:?}",
cleared_signer.signature_data
);
assert_eq!(cleared_signer.signature_data, None);
println!(" ✓ Clear signature data works correctly\n");
@@ -114,14 +129,24 @@ fn main() {
// Serialize to JSON
let json = serde_json::to_string(&original_signer).expect("Failed to serialize");
println!(" Serialized JSON length: {} characters", json.len());
// Deserialize from JSON
let deserialized_signer: ContractSigner = serde_json::from_str(&json).expect("Failed to deserialize");
println!(" Original signature data: {:?}", original_signer.signature_data);
println!(" Deserialized signature data: {:?}", deserialized_signer.signature_data);
assert_eq!(original_signer.signature_data, deserialized_signer.signature_data);
let deserialized_signer: ContractSigner =
serde_json::from_str(&json).expect("Failed to deserialize");
println!(
" Original signature data: {:?}",
original_signer.signature_data
);
println!(
" Deserialized signature data: {:?}",
deserialized_signer.signature_data
);
assert_eq!(
original_signer.signature_data,
deserialized_signer.signature_data
);
assert_eq!(original_signer.name, deserialized_signer.name);
assert_eq!(original_signer.email, deserialized_signer.email);
println!(" ✓ Serialization/Deserialization works correctly\n");
@@ -138,17 +163,21 @@ fn main() {
"comments": null,
"last_reminder_mail_sent_at": null
}"#;
let old_signer: ContractSigner = serde_json::from_str(old_json).expect("Failed to deserialize old format");
let old_signer: ContractSigner =
serde_json::from_str(old_json).expect("Failed to deserialize old format");
println!(" Old signer name: {}", old_signer.name);
println!(" Old signer signature data: {:?}", old_signer.signature_data);
println!(
" Old signer signature data: {:?}",
old_signer.signature_data
);
assert_eq!(old_signer.signature_data, None);
println!(" ✓ Backward compatibility works correctly\n");
println!("All tests passed! ✅");
println!("ContractSigner signature functionality is working correctly.");
// Summary
println!("\n📋 Summary of Features Tested:");
println!(" ✅ New signer creation (signature_data: None)");