use serde_json::to_string; use unreql::{ cmd::options::{Conflict, InsertOptions}, r, rjson, }; #[tokio::test] async fn insert_json() -> unreql::Result<()> { let cmd = r.table("table").insert(rjson!({ "value": true })); assert_eq!( r#"[56,[[15,["table"]],{"value":true}]]"#, to_string(&cmd).unwrap() ); Ok(()) } #[tokio::test] async fn insert_many() -> unreql::Result<()> { let cmd = r .table("table") .insert(r.args([rjson!({ "doc1": true }), rjson!({ "doc2": true })])); assert_eq!( r#"[56,[[15,["table"]],{"doc1":true},{"doc2":true}]]"#, to_string(&cmd).unwrap() ); Ok(()) } #[tokio::test] async fn insert_with_opt() -> unreql::Result<()> { let cmd = r.table("table").insert(r.with_opt( rjson!({"value": true}), InsertOptions::new().conflict(Conflict::Update), )); assert_eq!( r#"[56,[[15,["table"]],{"value":true}],{"conflict":"update"}]"#, to_string(&cmd).unwrap() ); Ok(()) }