Drop the use of rust_decimal_macros
(#2078)
This commit is contained in:
parent
b5804551eb
commit
9797da1ee4
@ -53,7 +53,6 @@ futures = { version = "0.3" }
|
||||
tokio = { version = "1.6", features = ["full"] }
|
||||
actix-rt = { version = "2.2.0" }
|
||||
maplit = { version = "1" }
|
||||
rust_decimal_macros = { version = "1" }
|
||||
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
|
||||
sea-orm = { path = ".", features = ["mock", "debug-print", "tests-cfg", "postgres-array", "sea-orm-internal"] }
|
||||
pretty_assertions = { version = "0.7" }
|
||||
|
@ -1,3 +1,4 @@
|
||||
use crate::common::setup::rust_dec;
|
||||
use sea_orm::{entity::prelude::*, ConnectionTrait};
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
|
||||
@ -63,8 +64,7 @@ impl ActiveModelBehavior for ActiveModel {
|
||||
where
|
||||
C: ConnectionTrait,
|
||||
{
|
||||
use rust_decimal_macros::dec;
|
||||
if self.price.as_ref() == &dec!(0) {
|
||||
if self.price.as_ref() == &rust_dec(0) {
|
||||
Err(DbErr::Custom(format!(
|
||||
"[before_save] Invalid Price, insert: {insert}"
|
||||
)))
|
||||
@ -77,8 +77,7 @@ impl ActiveModelBehavior for ActiveModel {
|
||||
where
|
||||
C: ConnectionTrait,
|
||||
{
|
||||
use rust_decimal_macros::dec;
|
||||
if model.price < dec!(0) {
|
||||
if model.price < rust_dec(0) {
|
||||
Err(DbErr::Custom(format!(
|
||||
"[after_save] Invalid Price, insert: {insert}"
|
||||
)))
|
||||
|
@ -158,3 +158,8 @@ pub async fn create_table_without_asserts(
|
||||
}
|
||||
db.execute(builder.build(create)).await
|
||||
}
|
||||
|
||||
pub fn rust_dec<T: ToString>(v: T) -> rust_decimal::Decimal {
|
||||
use std::str::FromStr;
|
||||
rust_decimal::Decimal::from_str(&v.to_string()).unwrap()
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
pub use super::*;
|
||||
use rust_decimal_macros::dec;
|
||||
use uuid::Uuid;
|
||||
|
||||
pub async fn test_create_cake(db: &DbConn) {
|
||||
@ -31,7 +30,7 @@ pub async fn test_create_cake(db: &DbConn) {
|
||||
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(-10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(uuid),
|
||||
bakery_id: Set(Some(bakery_insert_res.last_insert_id)),
|
||||
@ -64,7 +63,7 @@ pub async fn test_create_cake(db: &DbConn) {
|
||||
assert!(cake.is_some());
|
||||
let cake_model = cake.unwrap();
|
||||
assert_eq!(cake_model.name, "Mud Cake");
|
||||
assert_eq!(cake_model.price, dec!(10.25));
|
||||
assert_eq!(cake_model.price, rust_dec(-10.25));
|
||||
assert!(!cake_model.gluten_free);
|
||||
assert_eq!(
|
||||
cake_model
|
||||
|
@ -1,6 +1,5 @@
|
||||
pub use super::*;
|
||||
use chrono::offset::Utc;
|
||||
use rust_decimal_macros::dec;
|
||||
use uuid::Uuid;
|
||||
|
||||
pub async fn test_create_lineitem(db: &DbConn) {
|
||||
@ -34,7 +33,7 @@ pub async fn test_create_lineitem(db: &DbConn) {
|
||||
// Cake
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(bakery_insert_res.last_insert_id)),
|
||||
@ -75,7 +74,7 @@ pub async fn test_create_lineitem(db: &DbConn) {
|
||||
let order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery_insert_res.last_insert_id),
|
||||
customer_id: Set(customer_insert_res.last_insert_id),
|
||||
total: Set(dec!(7.55)),
|
||||
total: Set(rust_dec(7.55)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
..Default::default()
|
||||
};
|
||||
@ -88,7 +87,7 @@ pub async fn test_create_lineitem(db: &DbConn) {
|
||||
let lineitem_1 = lineitem::ActiveModel {
|
||||
cake_id: Set(cake_insert_res.last_insert_id),
|
||||
order_id: Set(order_insert_res.last_insert_id),
|
||||
price: Set(dec!(7.55)),
|
||||
price: Set(rust_dec(7.55)),
|
||||
quantity: Set(1),
|
||||
..Default::default()
|
||||
};
|
||||
@ -106,7 +105,7 @@ pub async fn test_create_lineitem(db: &DbConn) {
|
||||
assert!(lineitem.is_some());
|
||||
let lineitem_model = lineitem.unwrap();
|
||||
|
||||
assert_eq!(lineitem_model.price, dec!(7.55));
|
||||
assert_eq!(lineitem_model.price, rust_dec(7.55));
|
||||
|
||||
let cake: Option<cake::Model> = Cake::find_by_id(lineitem_model.cake_id)
|
||||
.one(db)
|
||||
|
@ -1,6 +1,5 @@
|
||||
pub use super::*;
|
||||
use chrono::offset::Utc;
|
||||
use rust_decimal_macros::dec;
|
||||
use uuid::Uuid;
|
||||
|
||||
pub async fn test_create_order(db: &DbConn) {
|
||||
@ -34,7 +33,7 @@ pub async fn test_create_order(db: &DbConn) {
|
||||
// Cake
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(bakery_insert_res.last_insert_id)),
|
||||
@ -75,7 +74,7 @@ pub async fn test_create_order(db: &DbConn) {
|
||||
let order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery_insert_res.last_insert_id),
|
||||
customer_id: Set(customer_insert_res.last_insert_id),
|
||||
total: Set(dec!(15.10)),
|
||||
total: Set(rust_dec(15.10)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
..Default::default()
|
||||
};
|
||||
@ -88,7 +87,7 @@ pub async fn test_create_order(db: &DbConn) {
|
||||
let lineitem_1 = lineitem::ActiveModel {
|
||||
cake_id: Set(cake_insert_res.last_insert_id),
|
||||
order_id: Set(order_insert_res.last_insert_id),
|
||||
price: Set(dec!(7.55)),
|
||||
price: Set(rust_dec(7.55)),
|
||||
quantity: Set(2),
|
||||
..Default::default()
|
||||
};
|
||||
@ -104,7 +103,7 @@ pub async fn test_create_order(db: &DbConn) {
|
||||
|
||||
assert!(order.is_some());
|
||||
let order_model = order.unwrap();
|
||||
assert_eq!(order_model.total, dec!(15.10));
|
||||
assert_eq!(order_model.total, rust_dec(15.10));
|
||||
|
||||
let customer: Option<customer::Model> = Customer::find_by_id(order_model.customer_id)
|
||||
.one(db)
|
||||
@ -128,6 +127,6 @@ pub async fn test_create_order(db: &DbConn) {
|
||||
.await
|
||||
.expect("could not find related lineitems");
|
||||
assert_eq!(related_lineitems.len(), 1);
|
||||
assert_eq!(related_lineitems[0].price, dec!(7.55));
|
||||
assert_eq!(related_lineitems[0].price, rust_dec(7.55));
|
||||
assert_eq!(related_lineitems[0].quantity, 2);
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
pub use super::*;
|
||||
use rust_decimal_macros::dec;
|
||||
use uuid::Uuid;
|
||||
|
||||
pub async fn test_delete_cake(db: &DbConn) {
|
||||
@ -17,7 +16,7 @@ pub async fn test_delete_cake(db: &DbConn) {
|
||||
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(bakery_insert_res.last_insert_id)),
|
||||
|
@ -1,5 +1,4 @@
|
||||
pub use super::*;
|
||||
use rust_decimal_macros::dec;
|
||||
use sea_orm::error::*;
|
||||
#[cfg(any(
|
||||
feature = "sqlx-mysql",
|
||||
@ -12,7 +11,7 @@ use uuid::Uuid;
|
||||
pub async fn test_cake_error_sqlx(db: &DbConn) {
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Moldy Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(None),
|
||||
|
@ -15,6 +15,7 @@ pub use error::*;
|
||||
pub use updates::*;
|
||||
|
||||
pub use super::common::bakery_chain::*;
|
||||
pub use crate::common::setup::rust_dec;
|
||||
use sea_orm::{entity::*, DbConn};
|
||||
|
||||
pub async fn test_create_bakery(db: &DbConn) {
|
||||
|
@ -1,5 +1,4 @@
|
||||
pub use super::*;
|
||||
use rust_decimal_macros::dec;
|
||||
use sea_orm::{query::*, DbErr};
|
||||
use uuid::Uuid;
|
||||
|
||||
@ -16,7 +15,7 @@ pub async fn test_update_cake(db: &DbConn) {
|
||||
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(bakery_insert_res.last_insert_id)),
|
||||
@ -36,12 +35,12 @@ pub async fn test_update_cake(db: &DbConn) {
|
||||
assert!(cake.is_some());
|
||||
let cake_model = cake.unwrap();
|
||||
assert_eq!(cake_model.name, "Mud Cake");
|
||||
assert_eq!(cake_model.price, dec!(10.25));
|
||||
assert_eq!(cake_model.price, rust_dec(10.25));
|
||||
assert!(!cake_model.gluten_free);
|
||||
|
||||
let mut cake_am: cake::ActiveModel = cake_model.into();
|
||||
cake_am.name = Set("Extra chocolate mud cake".to_owned());
|
||||
cake_am.price = Set(dec!(20.00));
|
||||
cake_am.price = Set(rust_dec(20.00));
|
||||
|
||||
let _cake_update_res: cake::Model = cake_am.update(db).await.expect("could not update cake");
|
||||
|
||||
@ -51,7 +50,7 @@ pub async fn test_update_cake(db: &DbConn) {
|
||||
.expect("could not find cake");
|
||||
let cake_model = cake.unwrap();
|
||||
assert_eq!(cake_model.name, "Extra chocolate mud cake");
|
||||
assert_eq!(cake_model.price, dec!(20.00));
|
||||
assert_eq!(cake_model.price, rust_dec(20.00));
|
||||
assert!(!cake_model.gluten_free);
|
||||
}
|
||||
|
||||
|
@ -579,7 +579,7 @@ pub async fn create_baker_cake(db: &DatabaseConnection) -> Result<(), DbErr> {
|
||||
});
|
||||
cakes.push(cake::ActiveModel {
|
||||
name: Set(c.to_ascii_lowercase().to_string()),
|
||||
price: Set(rust_decimal_macros::dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some((c as i32 - 65) % 10 + 1)),
|
||||
|
@ -1,8 +1,7 @@
|
||||
pub mod common;
|
||||
|
||||
use common::{features::*, TestContext};
|
||||
use common::{features::*, setup::*, TestContext};
|
||||
use pretty_assertions::assert_eq;
|
||||
use rust_decimal_macros::dec;
|
||||
use sea_orm::{entity::prelude::*, entity::*, DatabaseConnection};
|
||||
use std::str::FromStr;
|
||||
|
||||
@ -24,7 +23,7 @@ async fn main() -> Result<(), DbErr> {
|
||||
pub async fn create_and_update_pi(db: &DatabaseConnection) -> Result<(), DbErr> {
|
||||
let pi = pi::Model {
|
||||
id: 1,
|
||||
decimal: dec!(3.1415926536),
|
||||
decimal: rust_dec(3.1415926536),
|
||||
big_decimal: BigDecimal::from_str("3.1415926536").unwrap(),
|
||||
decimal_opt: None,
|
||||
big_decimal_opt: None,
|
||||
@ -37,7 +36,7 @@ pub async fn create_and_update_pi(db: &DatabaseConnection) -> Result<(), DbErr>
|
||||
assert_eq!(model, Some(pi.clone()));
|
||||
|
||||
let res = pi::ActiveModel {
|
||||
decimal_opt: Set(Some(dec!(3.1415926536))),
|
||||
decimal_opt: Set(Some(rust_dec(3.1415926536))),
|
||||
big_decimal_opt: Set(Some(BigDecimal::from_str("3.1415926536").unwrap())),
|
||||
..pi.clone().into_active_model()
|
||||
}
|
||||
@ -50,9 +49,9 @@ pub async fn create_and_update_pi(db: &DatabaseConnection) -> Result<(), DbErr>
|
||||
model,
|
||||
Some(pi::Model {
|
||||
id: 1,
|
||||
decimal: dec!(3.1415926536),
|
||||
decimal: rust_dec(3.1415926536),
|
||||
big_decimal: BigDecimal::from_str("3.1415926536").unwrap(),
|
||||
decimal_opt: Some(dec!(3.1415926536)),
|
||||
decimal_opt: Some(rust_dec(3.1415926536)),
|
||||
big_decimal_opt: Some(BigDecimal::from_str("3.1415926536").unwrap()),
|
||||
})
|
||||
);
|
||||
|
@ -4,7 +4,6 @@ pub use chrono::offset::Utc;
|
||||
pub use common::{bakery_chain::*, setup::*, TestContext};
|
||||
use pretty_assertions::assert_eq;
|
||||
pub use rust_decimal::prelude::*;
|
||||
pub use rust_decimal_macros::dec;
|
||||
use sea_orm::{entity::*, query::*, DbErr, DerivePartialModel, FromQueryResult};
|
||||
use sea_query::{Expr, Func, SimpleExpr};
|
||||
pub use uuid::Uuid;
|
||||
@ -151,7 +150,7 @@ pub async fn right_join() {
|
||||
let _order = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(15.10)),
|
||||
total: Set(rust_dec(15.10)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -180,7 +179,7 @@ pub async fn right_join() {
|
||||
.await
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
assert_eq!(result.order_total, Some(dec!(15.10)));
|
||||
assert_eq!(result.order_total, Some(rust_dec(15.10)));
|
||||
|
||||
let select = order::Entity::find()
|
||||
.right_join(customer::Entity)
|
||||
@ -238,7 +237,7 @@ pub async fn inner_join() {
|
||||
let kate_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(15.10)),
|
||||
total: Set(rust_dec(15.10)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -250,7 +249,7 @@ pub async fn inner_join() {
|
||||
let kate_order_2 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(100.00)),
|
||||
total: Set(rust_dec(100.00)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -320,7 +319,7 @@ pub async fn group_by() {
|
||||
let kate_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(99.95)),
|
||||
total: Set(rust_dec(99.95)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -332,7 +331,7 @@ pub async fn group_by() {
|
||||
let kate_order_2 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(200.00)),
|
||||
total: Set(rust_dec(200.00)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -415,7 +414,7 @@ pub async fn having() {
|
||||
let kate_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(100.00)),
|
||||
total: Set(rust_dec(100.00)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -427,7 +426,7 @@ pub async fn having() {
|
||||
let _kate_order_2 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_kate.id),
|
||||
total: Set(dec!(12.00)),
|
||||
total: Set(rust_dec(12.00)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -447,7 +446,7 @@ pub async fn having() {
|
||||
let _bob_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_bob.id),
|
||||
total: Set(dec!(50.0)),
|
||||
total: Set(rust_dec(50.0)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -459,7 +458,7 @@ pub async fn having() {
|
||||
let _bob_order_2 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id),
|
||||
customer_id: Set(customer_bob.id),
|
||||
total: Set(dec!(50.0)),
|
||||
total: Set(rust_dec(50.0)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -481,7 +480,7 @@ pub async fn having() {
|
||||
.column_as(order::Column::Total, "order_total")
|
||||
.group_by(customer::Column::Name)
|
||||
.group_by(order::Column::Total)
|
||||
.having(order::Column::Total.gt(dec!(90.00)))
|
||||
.having(order::Column::Total.gt(rust_dec(90.00)))
|
||||
.into_model::<SelectResult>()
|
||||
.all(&ctx.db)
|
||||
.await
|
||||
@ -779,7 +778,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
let baker_bob_res = Baker::insert(baker_bob).exec(&ctx.db).await?;
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(seaside_bakery_res.last_insert_id)),
|
||||
@ -804,7 +803,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
let baker_bobby_res = Baker::insert(baker_bobby).exec(&ctx.db).await?;
|
||||
let cheese_cake = cake::ActiveModel {
|
||||
name: Set("Cheese Cake".to_owned()),
|
||||
price: Set(dec!(20.5)),
|
||||
price: Set(rust_dec(20.5)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(seaside_bakery_res.last_insert_id)),
|
||||
@ -820,7 +819,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
.await?;
|
||||
let chocolate_cake = cake::ActiveModel {
|
||||
name: Set("Chocolate Cake".to_owned()),
|
||||
price: Set(dec!(30.15)),
|
||||
price: Set(rust_dec(30.15)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(seaside_bakery_res.last_insert_id)),
|
||||
@ -856,7 +855,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
let kate_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(seaside_bakery_res.last_insert_id),
|
||||
customer_id: Set(customer_kate_res.last_insert_id),
|
||||
total: Set(dec!(15.10)),
|
||||
total: Set(rust_dec(15.10)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
..Default::default()
|
||||
};
|
||||
@ -864,7 +863,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
lineitem::ActiveModel {
|
||||
cake_id: Set(cheese_cake_res.last_insert_id),
|
||||
order_id: Set(kate_order_1_res.last_insert_id),
|
||||
price: Set(dec!(7.55)),
|
||||
price: Set(rust_dec(7.55)),
|
||||
quantity: Set(2),
|
||||
..Default::default()
|
||||
}
|
||||
@ -873,7 +872,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
let kate_order_2 = order::ActiveModel {
|
||||
bakery_id: Set(seaside_bakery_res.last_insert_id),
|
||||
customer_id: Set(customer_kate_res.last_insert_id),
|
||||
total: Set(dec!(29.7)),
|
||||
total: Set(rust_dec(29.7)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
..Default::default()
|
||||
};
|
||||
@ -881,7 +880,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
lineitem::ActiveModel {
|
||||
cake_id: Set(chocolate_cake_res.last_insert_id),
|
||||
order_id: Set(kate_order_2_res.last_insert_id),
|
||||
price: Set(dec!(9.9)),
|
||||
price: Set(rust_dec(9.9)),
|
||||
quantity: Set(3),
|
||||
..Default::default()
|
||||
}
|
||||
@ -898,7 +897,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
let kara_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(seaside_bakery_res.last_insert_id),
|
||||
customer_id: Set(customer_kara_res.last_insert_id),
|
||||
total: Set(dec!(15.10)),
|
||||
total: Set(rust_dec(15.10)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
..Default::default()
|
||||
};
|
||||
@ -906,7 +905,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
lineitem::ActiveModel {
|
||||
cake_id: Set(mud_cake_res.last_insert_id),
|
||||
order_id: Set(kara_order_1_res.last_insert_id),
|
||||
price: Set(dec!(7.55)),
|
||||
price: Set(rust_dec(7.55)),
|
||||
quantity: Set(2),
|
||||
..Default::default()
|
||||
}
|
||||
@ -915,7 +914,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
let kara_order_2 = order::ActiveModel {
|
||||
bakery_id: Set(seaside_bakery_res.last_insert_id),
|
||||
customer_id: Set(customer_kara_res.last_insert_id),
|
||||
total: Set(dec!(29.7)),
|
||||
total: Set(rust_dec(29.7)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
..Default::default()
|
||||
};
|
||||
@ -923,7 +922,7 @@ pub async fn linked() -> Result<(), DbErr> {
|
||||
lineitem::ActiveModel {
|
||||
cake_id: Set(cheese_cake_res.last_insert_id),
|
||||
order_id: Set(kara_order_2_res.last_insert_id),
|
||||
price: Set(dec!(9.9)),
|
||||
price: Set(rust_dec(9.9)),
|
||||
quantity: Set(3),
|
||||
..Default::default()
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ pub mod common;
|
||||
pub use chrono::offset::Utc;
|
||||
pub use common::{bakery_chain::*, setup::*, TestContext};
|
||||
pub use rust_decimal::prelude::*;
|
||||
pub use rust_decimal_macros::dec;
|
||||
pub use uuid::Uuid;
|
||||
|
||||
#[cfg(any(feature = "sqlx-mysql", feature = "sqlx-postgres"))]
|
||||
@ -63,7 +62,7 @@ async fn seed_data(db: &DatabaseConnection) {
|
||||
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Mud Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(bakery.id.clone().unwrap())),
|
||||
@ -100,7 +99,7 @@ async fn seed_data(db: &DatabaseConnection) {
|
||||
let kate_order_1 = order::ActiveModel {
|
||||
bakery_id: Set(bakery.id.clone().unwrap()),
|
||||
customer_id: Set(customer_kate.id.clone().unwrap()),
|
||||
total: Set(dec!(99.95)),
|
||||
total: Set(rust_dec(99.95)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -111,7 +110,7 @@ async fn seed_data(db: &DatabaseConnection) {
|
||||
|
||||
let _lineitem = lineitem::ActiveModel {
|
||||
cake_id: Set(cake_insert_res.last_insert_id),
|
||||
price: Set(dec!(10.00)),
|
||||
price: Set(rust_dec(10.00)),
|
||||
quantity: Set(12),
|
||||
order_id: Set(kate_order_1.id.clone().unwrap()),
|
||||
..Default::default()
|
||||
@ -122,7 +121,7 @@ async fn seed_data(db: &DatabaseConnection) {
|
||||
|
||||
let _lineitem2 = lineitem::ActiveModel {
|
||||
cake_id: Set(cake_insert_res.last_insert_id),
|
||||
price: Set(dec!(50.00)),
|
||||
price: Set(rust_dec(50.00)),
|
||||
quantity: Set(2),
|
||||
order_id: Set(kate_order_1.id.clone().unwrap()),
|
||||
..Default::default()
|
||||
@ -199,7 +198,7 @@ async fn find_baker_least_sales(db: &DatabaseConnection) -> Option<baker::Model>
|
||||
async fn create_cake(db: &DatabaseConnection, baker: baker::Model) -> Option<cake::Model> {
|
||||
let new_cake = cake::ActiveModel {
|
||||
name: Set("New Cake".to_owned()),
|
||||
price: Set(dec!(8.00)),
|
||||
price: Set(rust_dec(8.00)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(baker.bakery_id.unwrap())),
|
||||
@ -244,7 +243,7 @@ async fn create_order(db: &DatabaseConnection, cake: cake::Model) {
|
||||
let order = order::ActiveModel {
|
||||
bakery_id: Set(cake.bakery_id.unwrap()),
|
||||
customer_id: Set(another_customer.id.clone().unwrap()),
|
||||
total: Set(dec!(200.00)),
|
||||
total: Set(rust_dec(200.00)),
|
||||
placed_at: Set(Utc::now().naive_utc()),
|
||||
|
||||
..Default::default()
|
||||
@ -255,7 +254,7 @@ async fn create_order(db: &DatabaseConnection, cake: cake::Model) {
|
||||
|
||||
let _lineitem = lineitem::ActiveModel {
|
||||
cake_id: Set(cake.id),
|
||||
price: Set(dec!(10.00)),
|
||||
price: Set(rust_dec(10.00)),
|
||||
quantity: Set(300),
|
||||
order_id: Set(order.id.clone().unwrap()),
|
||||
..Default::default()
|
||||
|
@ -1,6 +1,5 @@
|
||||
pub mod common;
|
||||
pub use common::{bakery_chain::*, setup::*, TestContext};
|
||||
use rust_decimal_macros::dec;
|
||||
pub use sea_orm::{
|
||||
entity::*, error::DbErr, error::SqlErr, tests_cfg, DatabaseConnection, DbBackend, EntityName,
|
||||
ExecResult,
|
||||
@ -23,7 +22,7 @@ async fn main() {
|
||||
pub async fn test_error(db: &DatabaseConnection) {
|
||||
let mud_cake = cake::ActiveModel {
|
||||
name: Set("Moldy Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(None),
|
||||
@ -48,7 +47,7 @@ pub async fn test_error(db: &DatabaseConnection) {
|
||||
|
||||
let fk_cake = cake::ActiveModel {
|
||||
name: Set("fk error Cake".to_owned()),
|
||||
price: Set(dec!(10.25)),
|
||||
price: Set(rust_dec(10.25)),
|
||||
gluten_free: Set(false),
|
||||
serial: Set(Uuid::new_v4()),
|
||||
bakery_id: Set(Some(1000)),
|
||||
|
@ -358,7 +358,6 @@ pub async fn transaction_closure_rollback() -> Result<(), DbErr> {
|
||||
feature = "sqlx-postgres"
|
||||
))]
|
||||
pub async fn transaction_with_active_model_behaviour() -> Result<(), DbErr> {
|
||||
use rust_decimal_macros::dec;
|
||||
let ctx = TestContext::new("transaction_with_active_model_behaviour_test").await;
|
||||
create_tables(&ctx.db).await?;
|
||||
|
||||
@ -366,7 +365,7 @@ pub async fn transaction_with_active_model_behaviour() -> Result<(), DbErr> {
|
||||
assert_eq!(
|
||||
cake::ActiveModel {
|
||||
name: Set("Cake with invalid price".to_owned()),
|
||||
price: Set(dec!(0)),
|
||||
price: Set(rust_dec(0)),
|
||||
gluten_free: Set(false),
|
||||
..Default::default()
|
||||
}
|
||||
@ -382,7 +381,7 @@ pub async fn transaction_with_active_model_behaviour() -> Result<(), DbErr> {
|
||||
assert_eq!(
|
||||
cake::ActiveModel {
|
||||
name: Set("Cake with invalid price".to_owned()),
|
||||
price: Set(dec!(-10)),
|
||||
price: Set(rust_dec(-10)),
|
||||
gluten_free: Set(false),
|
||||
..Default::default()
|
||||
}
|
||||
@ -397,7 +396,7 @@ pub async fn transaction_with_active_model_behaviour() -> Result<(), DbErr> {
|
||||
|
||||
let readonly_cake_1 = cake::ActiveModel {
|
||||
name: Set("Readonly cake (err_on_before_delete)".to_owned()),
|
||||
price: Set(dec!(10)),
|
||||
price: Set(rust_dec(10)),
|
||||
gluten_free: Set(true),
|
||||
..Default::default()
|
||||
}
|
||||
@ -417,7 +416,7 @@ pub async fn transaction_with_active_model_behaviour() -> Result<(), DbErr> {
|
||||
|
||||
let readonly_cake_2 = cake::ActiveModel {
|
||||
name: Set("Readonly cake (err_on_after_delete)".to_owned()),
|
||||
price: Set(dec!(10)),
|
||||
price: Set(rust_dec(10)),
|
||||
gluten_free: Set(true),
|
||||
..Default::default()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user