From dbd072964686056cca1f22824830cef3189968c1 Mon Sep 17 00:00:00 2001 From: GW_MC Date: Fri, 27 Feb 2026 12:23:37 +0000 Subject: [PATCH] feat(tags): improve error handling in tag service and tests --- src-tauri/src/services/tags/service.rs | 54 +++++++++++++++++++------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/src-tauri/src/services/tags/service.rs b/src-tauri/src/services/tags/service.rs index d78a548..a0fd54d 100644 --- a/src-tauri/src/services/tags/service.rs +++ b/src-tauri/src/services/tags/service.rs @@ -264,7 +264,7 @@ impl TagService for TagServiceImpl { } active_model.updated_at = Set(Utc::now().naive_utc()); - active_model.version = Set(active_model.version.unwrap() + 1); + active_model.version = Set(active_model.version.expect("version should be set") + 1); let updated = active_model.update(executor).await?; Ok(updated) @@ -283,7 +283,7 @@ impl TagService for TagServiceImpl { let mut active_model: tags::ActiveModel = tag.into(); active_model.is_deleted = Set(true); active_model.updated_at = Set(Utc::now().naive_utc()); - active_model.version = Set(active_model.version.unwrap() + 1); + active_model.version = Set(active_model.version.expect("version should be set") + 1); active_model.update(executor).await?; @@ -732,7 +732,7 @@ mod tests { assert!(result.is_ok()); let tag = result.expect("Failed to get tag"); assert!(tag.is_some()); - assert_eq!(tag.unwrap().id, "tag-1"); + assert_eq!(tag.expect("Tag should be present").name, "Test Tag"); } #[tokio::test] @@ -1035,9 +1035,9 @@ mod tests { assert!(result.is_ok()); let tags_map = result.expect("Failed to get batch tags"); assert_eq!(tags_map.len(), 3); - assert_eq!(tags_map.get("txn-1").unwrap().len(), 2); - assert_eq!(tags_map.get("txn-2").unwrap().len(), 1); - assert_eq!(tags_map.get("txn-3").unwrap().len(), 1); + assert_eq!(tags_map.get("txn-1").expect("txn-1 should exist").len(), 2); + assert_eq!(tags_map.get("txn-2").expect("txn-2 should exist").len(), 1); + assert_eq!(tags_map.get("txn-3").expect("txn-3 should exist").len(), 1); } #[tokio::test] @@ -1122,7 +1122,11 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("cannot be empty")); + assert!( + result + .expect_err("should be error") + .contains("cannot be empty") + ); } #[test] @@ -1136,7 +1140,11 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("cannot exceed 100 characters")); + assert!( + result + .expect_err("should be error") + .contains("cannot exceed 100 characters") + ); } #[test] @@ -1150,7 +1158,7 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("hex code")); + assert!(result.expect_err("should be error").contains("hex code")); } #[test] @@ -1164,7 +1172,7 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("hex code")); + assert!(result.expect_err("should be error").contains("hex code")); } #[test] @@ -1178,7 +1186,7 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("hex code")); + assert!(result.expect_err("should be error").contains("hex code")); } #[test] @@ -1192,7 +1200,11 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("Invalid budget period")); + assert!( + result + .expect_err("should be error") + .contains("Invalid budget period") + ); } #[test] @@ -1206,7 +1218,11 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("Invalid budget amount")); + assert!( + result + .expect_err("should be error") + .contains("Invalid budget amount") + ); } #[test] @@ -1242,7 +1258,11 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("cannot be empty")); + assert!( + result + .expect_err("should be error") + .contains("cannot be empty") + ); } #[test] @@ -1256,7 +1276,11 @@ mod tests { }; let result = input.validate(); assert!(result.is_err()); - assert!(result.unwrap_err().contains("cannot exceed 100 characters")); + assert!( + result + .expect_err("should be error") + .contains("cannot exceed 100 characters") + ); } #[test]