From f961e6e28de4468ceaad5a5c93e5ddc8eed89535 Mon Sep 17 00:00:00 2001 From: Sam Samai Date: Sat, 10 Jul 2021 21:27:58 +1000 Subject: [PATCH] Test bakery update --- tests/bakery_chain_tests.rs | 1 + tests/crud/updates.rs | 39 +++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/tests/bakery_chain_tests.rs b/tests/bakery_chain_tests.rs index 292acdfc..9ab3a58d 100644 --- a/tests/bakery_chain_tests.rs +++ b/tests/bakery_chain_tests.rs @@ -33,4 +33,5 @@ async fn create_entities(db: &DbConn) { crud::create_order::test_create_order(db).await; crud::updates::test_update_cake(db).await; + crud::updates::test_update_bakery(db).await; } diff --git a/tests/crud/updates.rs b/tests/crud/updates.rs index 615e89f2..ea716462 100644 --- a/tests/crud/updates.rs +++ b/tests/crud/updates.rs @@ -53,3 +53,42 @@ pub async fn test_update_cake(db: &DbConn) { assert_eq!(cake_model.name, "Extra chocolate mud cake"); assert_eq!(cake_model.price, dec!(20.00)); } + +pub async fn test_update_bakery(db: &DbConn) { + 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 bakery: Option = Bakery::find_by_id(bakery_insert_res.last_insert_id) + .one(db) + .await + .expect("could not find bakery"); + + assert!(bakery.is_some()); + let bakery_model = bakery.unwrap(); + assert_eq!(bakery_model.name, "SeaSide Bakery"); + assert_eq!(bakery_model.profit_margin, 10.4); + + let mut bakery_am: bakery::ActiveModel = bakery_model.into(); + bakery_am.name = Set("SeaBreeze Bakery".to_owned()); + bakery_am.profit_margin = Set(12.00); + + let _bakery_update_res: bakery::ActiveModel = Bakery::update(bakery_am) + .exec(db) + .await + .expect("could not update bakery"); + + let bakery: Option = Bakery::find_by_id(bakery_insert_res.last_insert_id) + .one(db) + .await + .expect("could not find bakery"); + let bakery_model = bakery.unwrap(); + assert_eq!(bakery_model.name, "SeaBreeze Bakery"); + assert_eq!(bakery_model.profit_margin, 12.00); +}