use crate::prelude::*;
#[driver_test(id(ID))]
pub async fn different_field_name(test: &mut Test) -> Result<()> {
#[derive(Debug, toasty::Model)]
struct User {
#[key]
#[auto]
id: ID,
#[has_many(pair = owner)]
todos: toasty::HasMany<Todo>,
}
#[derive(Debug, toasty::Model)]
struct Todo {
#[key]
#[auto]
id: ID,
#[belongs_to(key = owner_id, references = id)]
owner: toasty::BelongsTo<User>,
#[index]
owner_id: ID,
title: String,
}
let mut db = test.setup_db(models!(User, Todo)).await;
let user = User::create().exec(&mut db).await?;
let todo = user
.todos()
.create()
.title("hello world")
.exec(&mut db)
.await?;
assert_eq!(todo.title, "hello world");
let user_reloaded = todo.owner().exec(&mut db).await?;
assert_eq!(user.id, user_reloaded.id);
Ok(())
}