sea-orm/tests/time_crate_tests.rs
Billy Chan d6831e5295
Bump version of sqlx, sea-query, sea-schema, time and uuid (#834)
* Bump version of sqlx, sea-query, sea-schema, time and uuid

* PostgreSQL `u32` was wrapped in `Oid` (launchbadge/sqlx#1602)

* Update test cases

* Fix clippy warnings

* cargo fmt

* Fix clippy warnings

* Bump sea-schema to ^0.9.2

* Update test cases

* Pin on sea-query minor version
2022-07-05 01:05:11 +08:00

47 lines
1.3 KiB
Rust

pub mod common;
pub use common::{features::*, setup::*, TestContext};
use sea_orm::{entity::prelude::*, DatabaseConnection, IntoActiveModel};
use time::macros::{date, time};
#[sea_orm_macros::test]
#[cfg(any(
feature = "sqlx-mysql",
feature = "sqlx-sqlite",
feature = "sqlx-postgres"
))]
#[cfg_attr(
feature = "sqlx-sqlite",
should_panic(expected = "time::Date unsupported by sqlx-sqlite")
)]
async fn main() {
let ctx = TestContext::new("time_crate_tests").await;
create_tables(&ctx.db).await.unwrap();
create_transaction_log(&ctx.db).await.unwrap();
ctx.delete().await;
}
pub async fn create_transaction_log(db: &DatabaseConnection) -> Result<(), DbErr> {
let transaction_log = transaction_log::Model {
id: 1,
date: date!(2022 - 03 - 13),
time: time!(16:24:00),
date_time: date!(2022 - 03 - 13).with_time(time!(16:24:00)),
date_time_tz: date!(2022 - 03 - 13)
.with_time(time!(16:24:00))
.assume_utc(),
};
let res = TransactionLog::insert(transaction_log.clone().into_active_model())
.exec(db)
.await?;
assert_eq!(transaction_log.id, res.last_insert_id);
assert_eq!(
TransactionLog::find().one(db).await?,
Some(transaction_log.clone())
);
Ok(())
}