prax-query 0.10.0

Type-safe query builder for the Prax ORM
Documentation
use prax_query::inputs::{
    BoolFieldUpdate, IntFieldUpdate, IntNullableFieldUpdate, StringFieldUpdate,
    StringNullableFieldUpdate,
};

#[test]
fn int_field_update_from_scalar_shortcut() {
    let u: IntFieldUpdate = 5i32.into();
    assert_eq!(u.set, Some(5));
    assert!(u.increment.is_none());
}

#[test]
fn int_field_update_increment_and_set_keeps_both() {
    let u = IntFieldUpdate {
        set: Some(0),
        increment: Some(1),
        ..Default::default()
    };
    assert_eq!(u.set, Some(0));
    assert_eq!(u.increment, Some(1));
}

#[test]
fn string_nullable_field_update_unset_marker() {
    let u = StringNullableFieldUpdate {
        unset: Some(true),
        ..Default::default()
    };
    assert_eq!(u.unset, Some(true));
}

#[test]
fn string_field_update_from_scalar_shortcut() {
    let u: StringFieldUpdate = "Alice".into();
    assert_eq!(u.set.as_deref(), Some("Alice"));
}

#[test]
fn bool_field_update_from_scalar_shortcut() {
    let u: BoolFieldUpdate = true.into();
    assert_eq!(u.set, Some(true));
}

#[test]
fn int_nullable_field_update_unset_marker() {
    let u = IntNullableFieldUpdate {
        unset: Some(true),
        ..Default::default()
    };
    assert_eq!(u.unset, Some(true));
}