From 351a78c7842ac19a2809fbfa7765a2a3bce7522a Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Fri, 15 Oct 2021 22:48:49 +0800 Subject: [PATCH] Try as_ref --- tests/common/bakery_chain/cake.rs | 54 +++++++++---------------------- 1 file changed, 16 insertions(+), 38 deletions(-) diff --git a/tests/common/bakery_chain/cake.rs b/tests/common/bakery_chain/cake.rs index cdae08af..0ecaf5de 100644 --- a/tests/common/bakery_chain/cake.rs +++ b/tests/common/bakery_chain/cake.rs @@ -60,65 +60,43 @@ impl ActiveModelBehavior for ActiveModel { fn before_save(self, insert: bool) -> Result { use rust_decimal_macros::dec; - if let Some(price) = self.price.clone().take() { - if price == dec!(0) { - Err(DbErr::Custom(format!( - "[before_save] Invalid Price, insert: {}", - insert - ))) - } else { - Ok(self) - } - } else { + if self.price.as_ref() == &dec!(0) { Err(DbErr::Custom(format!( - "[before_save] Price must be set, insert: {}", + "[before_save] Invalid Price, insert: {}", insert ))) + } else { + Ok(self) } } fn after_save(self, insert: bool) -> Result { use rust_decimal_macros::dec; - if let Some(price) = dbg!(self.price.clone()).take() { - if price < dec!(0) { - Err(DbErr::Custom(format!( - "[after_save] Invalid Price, insert: {}", - insert - ))) - } else { - Ok(self) - } - } else { + if self.price.as_ref() < &dec!(0) { Err(DbErr::Custom(format!( - "[after_save] Price must be set, insert: {}", + "[after_save] Invalid Price, insert: {}", insert ))) + } else { + Ok(self) } } fn before_delete(self) -> Result { - if let Some(name) = self.name.clone().take() { - if name.contains("(err_on_before_delete)") { - Err(DbErr::Custom( - "[before_delete] Cannot be deleted".to_owned(), - )) - } else { - Ok(self) - } + if self.name.as_ref().contains("(err_on_before_delete)") { + Err(DbErr::Custom( + "[before_delete] Cannot be deleted".to_owned(), + )) } else { - Err(DbErr::Custom("[before_delete] Name must be set".to_owned())) + Ok(self) } } fn after_delete(self) -> Result { - if let Some(name) = self.name.clone().take() { - if name.contains("(err_on_after_delete)") { - Err(DbErr::Custom("[after_delete] Cannot be deleted".to_owned())) - } else { - Ok(self) - } + if self.name.as_ref().contains("(err_on_after_delete)") { + Err(DbErr::Custom("[after_delete] Cannot be deleted".to_owned())) } else { - Err(DbErr::Custom("[after_delete] Name must be set".to_owned())) + Ok(self) } } }