From dfda079b770e4add94d31e957176665fcf6636f8 Mon Sep 17 00:00:00 2001 From: Sam Samai Date: Wed, 21 Jul 2021 15:01:31 +1000 Subject: [PATCH] Store baker contact details as Json and test --- Cargo.toml | 3 +- src/executor/query.rs | 2 + tests/bakery_chain_tests.rs | 2 +- tests/common/bakery_chain/baker.rs | 4 + .../bakery_chain/bakery_chain_erd.drawio | 2 +- .../common/bakery_chain/bakery_chain_erd.jpg | Bin 52225 -> 53928 bytes tests/common/setup/schema.rs | 1 + tests/crud/create_baker.rs | 79 ++++++++++++++++++ tests/crud/create_cake.rs | 5 ++ tests/crud/create_lineitem.rs | 5 ++ tests/crud/create_order.rs | 5 ++ tests/crud/mod.rs | 56 +------------ tests/relational_tests.rs | 6 ++ 13 files changed, 112 insertions(+), 58 deletions(-) create mode 100644 tests/crud/create_baker.rs diff --git a/Cargo.toml b/Cargo.toml index 5670161c..436b5042 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,8 +42,9 @@ chrono = { version = "^0", optional = true } futures = { version = "^0.3" } futures-util = { version = "^0.3" } rust_decimal = { version = "^1", optional = true } -sea-query = { version = "^0.12" } +# sea-query = { version = "^0.12" } # sea-query = { path = "../sea-query" } +sea-query = { version = "^0.12", git = "https://github.com/samsamai/sea-query.git", branch = "ss/uuid" } sea-orm-macros = { path = "sea-orm-macros", optional = true } sea-orm-codegen = { path = "sea-orm-codegen", optional = true } serde = { version = "^1.0", features = ["derive"] } diff --git a/src/executor/query.rs b/src/executor/query.rs index e182494c..aad4c3fa 100644 --- a/src/executor/query.rs +++ b/src/executor/query.rs @@ -1,5 +1,6 @@ use crate::DbErr; use chrono::NaiveDateTime; +use serde_json::Value as Json; use std::fmt; #[derive(Debug)] @@ -165,6 +166,7 @@ try_getable_all!(f32); try_getable_all!(f64); try_getable_all!(String); try_getable_all!(NaiveDateTime); +try_getable_all!(Json); #[cfg(feature = "with-uuid")] use uuid::Uuid; diff --git a/tests/bakery_chain_tests.rs b/tests/bakery_chain_tests.rs index 01062a35..d564d0b2 100644 --- a/tests/bakery_chain_tests.rs +++ b/tests/bakery_chain_tests.rs @@ -18,7 +18,7 @@ async fn main() { async fn create_entities(db: &DatabaseConnection) { crud::test_create_bakery(db).await; - crud::test_create_baker(db).await; + crud::create_baker::test_create_baker(db).await; crud::test_create_customer(db).await; crud::create_cake::test_create_cake(db).await; crud::create_lineitem::test_create_lineitem(db).await; diff --git a/tests/common/bakery_chain/baker.rs b/tests/common/bakery_chain/baker.rs index b359e7ef..93544311 100644 --- a/tests/common/bakery_chain/baker.rs +++ b/tests/common/bakery_chain/baker.rs @@ -1,4 +1,5 @@ use sea_orm::entity::prelude::*; +use serde_json::Value as Json; #[derive(Copy, Clone, Default, Debug, DeriveEntity)] pub struct Entity; @@ -13,6 +14,7 @@ impl EntityName for Entity { pub struct Model { pub id: i32, pub name: String, + pub contact_details: Json, pub bakery_id: Option, } @@ -20,6 +22,7 @@ pub struct Model { pub enum Column { Id, Name, + ContactDetails, BakeryId, } @@ -46,6 +49,7 @@ impl ColumnTrait for Column { match self { Self::Id => ColumnType::Integer.def(), Self::Name => ColumnType::String(None).def(), + Self::ContactDetails => ColumnType::Json.def(), Self::BakeryId => ColumnType::Integer.def(), } } diff --git a/tests/common/bakery_chain/bakery_chain_erd.drawio b/tests/common/bakery_chain/bakery_chain_erd.drawio index 32ff22d6..0e782312 100644 --- a/tests/common/bakery_chain/bakery_chain_erd.drawio +++ b/tests/common/bakery_chain/bakery_chain_erd.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/tests/common/bakery_chain/bakery_chain_erd.jpg b/tests/common/bakery_chain/bakery_chain_erd.jpg index 8bf98b1020a67c8f8ffe669df7752c11236632cd..4d20a32c8345492e89184162c5375b5481eadb13 100644 GIT binary patch literal 53928 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 s-d7)*oE@^$xeIDFsORoL Result { .primary_key(), ) .col(ColumnDef::new(baker::Column::Name).string()) + .col(ColumnDef::new(baker::Column::ContactDetails).json()) .col(ColumnDef::new(baker::Column::BakeryId).integer()) .foreign_key( ForeignKey::create() diff --git a/tests/crud/create_baker.rs b/tests/crud/create_baker.rs new file mode 100644 index 00000000..2a4da6e5 --- /dev/null +++ b/tests/crud/create_baker.rs @@ -0,0 +1,79 @@ +pub use super::*; +use serde::{Deserialize, Serialize}; + +pub async fn test_create_baker(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"); + + #[derive(Serialize, Deserialize)] + struct ContactDetails { + mobile: String, + home: String, + address: String, + } + + let baker_bob_contact = ContactDetails { + mobile: "+61424000000".to_owned(), + home: "0395555555".to_owned(), + address: "12 Test St, Testville, Vic, Australia".to_owned(), + }; + let baker_bob = baker::ActiveModel { + name: Set("Baker Bob".to_owned()), + contact_details: Set(serde_json::json!(baker_bob_contact)), + bakery_id: Set(Some(bakery_insert_res.last_insert_id as i32)), + ..Default::default() + }; + let res: InsertResult = Baker::insert(baker_bob) + .exec(db) + .await + .expect("could not insert baker"); + + let baker: Option = Baker::find_by_id(res.last_insert_id) + .one(db) + .await + .expect("could not find baker"); + + assert!(baker.is_some()); + let baker_model = baker.unwrap(); + assert_eq!(baker_model.name, "Baker Bob"); + assert_eq!( + baker_model.contact_details["mobile"], + baker_bob_contact.mobile + ); + assert_eq!(baker_model.contact_details["home"], baker_bob_contact.home); + assert_eq!( + baker_model.contact_details["address"], + baker_bob_contact.address + ); + assert_eq!( + baker_model + .find_related(Bakery) + .one(db) + .await + .expect("Bakery not found") + .unwrap() + .name, + "SeaSide Bakery" + ); + + let bakery: Option = Bakery::find_by_id(bakery_insert_res.last_insert_id) + .one(db) + .await + .unwrap(); + + let related_bakers: Vec = bakery + .unwrap() + .find_related(Baker) + .all(db) + .await + .expect("could not find related bakers"); + assert_eq!(related_bakers.len(), 1); + assert_eq!(related_bakers[0].name, "Baker Bob") +} diff --git a/tests/crud/create_cake.rs b/tests/crud/create_cake.rs index 8c76d8c1..07f9c4b3 100644 --- a/tests/crud/create_cake.rs +++ b/tests/crud/create_cake.rs @@ -15,6 +15,11 @@ pub async fn test_create_cake(db: &DbConn) { let baker_bob = baker::ActiveModel { name: Set("Baker Bob".to_owned()), + contact_details: Set(serde_json::json!({ + "mobile": "+61424000000", + "home": "0395555555", + "address": "12 Test St, Testville, Vic, Australia" + })), bakery_id: Set(Some(bakery_insert_res.last_insert_id as i32)), ..Default::default() }; diff --git a/tests/crud/create_lineitem.rs b/tests/crud/create_lineitem.rs index d3f36233..4d2b2a14 100644 --- a/tests/crud/create_lineitem.rs +++ b/tests/crud/create_lineitem.rs @@ -18,6 +18,11 @@ pub async fn test_create_lineitem(db: &DbConn) { // Baker let baker_bob = baker::ActiveModel { name: Set("Baker Bob".to_owned()), + contact_details: Set(serde_json::json!({ + "mobile": "+61424000000", + "home": "0395555555", + "address": "12 Test St, Testville, Vic, Australia" + })), bakery_id: Set(Some(bakery_insert_res.last_insert_id as i32)), ..Default::default() }; diff --git a/tests/crud/create_order.rs b/tests/crud/create_order.rs index 98afba3e..e1ec90f5 100644 --- a/tests/crud/create_order.rs +++ b/tests/crud/create_order.rs @@ -18,6 +18,11 @@ pub async fn test_create_order(db: &DbConn) { // Baker let baker_bob = baker::ActiveModel { name: Set("Baker Bob".to_owned()), + contact_details: Set(serde_json::json!({ + "mobile": "+61424000000", + "home": "0395555555", + "address": "12 Test St, Testville, Vic, Australia" + })), bakery_id: Set(Some(bakery_insert_res.last_insert_id as i32)), ..Default::default() }; diff --git a/tests/crud/mod.rs b/tests/crud/mod.rs index bec87ced..457f639d 100644 --- a/tests/crud/mod.rs +++ b/tests/crud/mod.rs @@ -2,6 +2,7 @@ use sea_orm::{entity::*, DbConn, InsertResult}; pub use super::common::bakery_chain::*; +pub mod create_baker; pub mod create_cake; pub mod create_lineitem; pub mod create_order; @@ -30,61 +31,6 @@ pub async fn test_create_bakery(db: &DbConn) { assert_eq!(bakery_model.profit_margin, 10.4); } -pub async fn test_create_baker(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 baker_bob = baker::ActiveModel { - name: Set("Baker Bob".to_owned()), - bakery_id: Set(Some(bakery_insert_res.last_insert_id as i32)), - ..Default::default() - }; - let res: InsertResult = Baker::insert(baker_bob) - .exec(db) - .await - .expect("could not insert baker"); - - let baker: Option = Baker::find_by_id(res.last_insert_id) - .one(db) - .await - .expect("could not find baker"); - - assert!(baker.is_some()); - let baker_model = baker.unwrap(); - assert_eq!(baker_model.name, "Baker Bob"); - assert_eq!( - baker_model - .find_related(Bakery) - .one(db) - .await - .expect("Bakery not found") - .unwrap() - .name, - "SeaSide Bakery" - ); - - let bakery: Option = Bakery::find_by_id(bakery_insert_res.last_insert_id) - .one(db) - .await - .unwrap(); - - let related_bakers: Vec = bakery - .unwrap() - .find_related(Baker) - .all(db) - .await - .expect("could not find related bakers"); - assert_eq!(related_bakers.len(), 1); - assert_eq!(related_bakers[0].name, "Baker Bob") -} - pub async fn test_create_customer(db: &DbConn) { let customer_kate = customer::ActiveModel { name: Set("Kate".to_owned()), diff --git a/tests/relational_tests.rs b/tests/relational_tests.rs index 1d6b82d3..33c43659 100644 --- a/tests/relational_tests.rs +++ b/tests/relational_tests.rs @@ -23,6 +23,11 @@ pub async fn left_join() { let _baker_1 = baker::ActiveModel { name: Set("Baker 1".to_owned()), + contact_details: Set(serde_json::json!({ + "mobile": "+61424000000", + "home": "0395555555", + "address": "12 Test St, Testville, Vic, Australia" + })), bakery_id: Set(Some(bakery.id.clone().unwrap())), ..Default::default() } @@ -32,6 +37,7 @@ pub async fn left_join() { let _baker_2 = baker::ActiveModel { name: Set("Baker 2".to_owned()), + contact_details: Set(serde_json::json!({})), bakery_id: Set(None), ..Default::default() }