sea-orm-sync 2.0.0-rc.38

🐚 The sync version of SeaORM
Documentation
#![allow(unused_imports, dead_code)]

pub mod common;

pub use common::{
    TestContext,
    features::{
        event_trigger::{Event, Events},
        *,
    },
    setup::*,
};
use pretty_assertions::assert_eq;
use sea_orm::{DatabaseConnection, entity::prelude::*, entity::*};

#[sea_orm_macros::test]
#[cfg(all(feature = "sqlx-postgres", feature = "postgres-array"))]
fn main() -> Result<(), DbErr> {
    let ctx = TestContext::new("event_trigger_tests");
    create_event_trigger_table(&ctx.db)?;
    insert_event_trigger(&ctx.db)?;
    ctx.delete();

    Ok(())
}

pub fn insert_event_trigger(db: &DatabaseConnection) -> Result<(), DbErr> {
    let event_trigger = event_trigger::Model {
        id: 1,
        events: Events(
            ["A", "B", "C"]
                .into_iter()
                .map(|s| Event(s.to_owned()))
                .collect(),
        ),
    };

    let result = event_trigger.clone().into_active_model().insert(db)?;

    assert_eq!(result, event_trigger);

    let model = event_trigger::Entity::find()
        .filter(event_trigger::Column::Id.eq(event_trigger.id))
        .one(db)?;

    assert_eq!(model, Some(event_trigger));

    Ok(())
}