Test delete cake and bakery

This commit is contained in:
Sam Samai 2021-07-10 22:07:57 +10:00
parent f961e6e28d
commit 1fa7c7e177
3 changed files with 63 additions and 0 deletions

View File

@ -34,4 +34,7 @@ async fn create_entities(db: &DbConn) {
crud::updates::test_update_cake(db).await;
crud::updates::test_update_bakery(db).await;
crud::deletes::test_delete_cake(db).await;
crud::deletes::test_delete_bakery(db).await;
}

59
tests/crud/deletes.rs Normal file
View File

@ -0,0 +1,59 @@
pub use super::*;
use rust_decimal_macros::dec;
pub async fn test_delete_cake(db: &DbConn) {
let initial_cakes = Cake::find().all(db).await.unwrap().len();
let seaside_bakery = bakery::ActiveModel {
name: Set("SeaSide Bakery".to_owned()),
profit_margin: Set(10.4),
..Default::default()
};
let bakery_insert_res: InsertResult = Bakery::insert(seaside_bakery)
.exec(db)
.await
.expect("could not insert bakery");
let mud_cake = cake::ActiveModel {
name: Set("Mud Cake".to_owned()),
price: Set(dec!(10.25)),
gluten_free: Set(false),
bakery_id: Set(Some(bakery_insert_res.last_insert_id as i32)),
..Default::default()
};
let cake = mud_cake.save(db).await.expect("could not insert cake");
let cakes = Cake::find().all(db).await.unwrap();
assert_eq!(cakes.len(), initial_cakes + 1);
let _result = cake.delete(db).await.expect("failed to delete cake");
let cakes = Cake::find().all(db).await.unwrap();
assert_eq!(cakes.len(), initial_cakes);
}
pub async fn test_delete_bakery(db: &DbConn) {
let initial_bakeries = Bakery::find().all(db).await.unwrap().len();
let bakery = bakery::ActiveModel {
name: Set("SeaSide Bakery".to_owned()),
profit_margin: Set(10.4),
..Default::default()
}
.save(db)
.await
.expect("could not insert bakery");
assert_eq!(
Bakery::find().all(db).await.unwrap().len(),
initial_bakeries + 1
);
let _result = bakery.delete(db).await.expect("failed to delete bakery");
assert_eq!(
Bakery::find().all(db).await.unwrap().len(),
initial_bakeries
);
}

View File

@ -5,6 +5,7 @@ pub use super::bakery_chain::*;
pub mod create_cake;
pub mod create_lineitem;
pub mod create_order;
pub mod deletes;
pub mod updates;
pub async fn test_create_bakery(db: &DbConn) {