* chore: add clippy config file * refactor: fix clippy errors and wornings of runtime-async-std-native-tls,sqlx-all * refactor: fix clippy errors and wornings of sqlx-sqlite, sqlx-mysql, sqlx-postgres * chore: format * refactor: fix clippy * fix: import path * refactor: fix clippy errors and wornings of sqlx-sqlite, sqlx-mysql, sqlx-postgres * fix: revert some space and comma removal * fix: revert some space and comma removal * refactor: add feature flag * fix: import path * test: remove mismatch feature flag * test: remove mismatch feature flag * chore: add proper feature flag * chore: remove feature flag * refactor: remove clippy.toml file * fix: re-export driver * fix: re-export JoinType * fix: remove feature flag * chore: add #[allow(unused_imports)] for driver Co-authored-by: Shogo Nakano <61229807+shogo-nakano-desu@users.noreply.github.com>
53 lines
1.3 KiB
Rust
53 lines
1.3 KiB
Rust
pub mod common;
|
|
mod crud;
|
|
|
|
pub use common::{bakery_chain::*, setup::*, TestContext};
|
|
pub use sea_orm::{
|
|
entity::*, error::DbErr, tests_cfg, DatabaseConnection, DbBackend, EntityName, ExecResult,
|
|
};
|
|
|
|
pub use crud::*;
|
|
// use common::bakery_chain::*;
|
|
use sea_orm::{DbConn, TryInsertResult};
|
|
|
|
#[sea_orm_macros::test]
|
|
#[cfg(any(
|
|
feature = "sqlx-mysql",
|
|
feature = "sqlx-sqlite",
|
|
feature = "sqlx-postgres"
|
|
))]
|
|
async fn main() {
|
|
let ctx = TestContext::new("bakery_chain_empty_insert_tests").await;
|
|
create_tables(&ctx.db).await.unwrap();
|
|
test(&ctx.db).await;
|
|
ctx.delete().await;
|
|
}
|
|
|
|
pub async fn test(db: &DbConn) {
|
|
let seaside_bakery = bakery::ActiveModel {
|
|
name: Set("SeaSide Bakery".to_owned()),
|
|
profit_margin: Set(10.4),
|
|
..Default::default()
|
|
};
|
|
|
|
let res = Bakery::insert(seaside_bakery)
|
|
.on_empty_do_nothing()
|
|
.exec(db)
|
|
.await;
|
|
|
|
assert!(matches!(res, Ok(TryInsertResult::Inserted(_))));
|
|
|
|
let _double_seaside_bakery = bakery::ActiveModel {
|
|
name: Set("SeaSide Bakery".to_owned()),
|
|
profit_margin: Set(10.4),
|
|
id: Set(1),
|
|
};
|
|
|
|
let empty_insert = Bakery::insert_many(std::iter::empty::<bakery::ActiveModel>())
|
|
.on_empty_do_nothing()
|
|
.exec(db)
|
|
.await;
|
|
|
|
assert!(matches!(empty_insert, Ok(TryInsertResult::Empty)));
|
|
}
|