toasty_driver_integration_suite/tests/
belongs_to_configured.rs1use crate::prelude::*;
2
3#[driver_test(id(ID))]
4pub async fn different_field_name(test: &mut Test) -> Result<()> {
5 #[derive(Debug, toasty::Model)]
6 struct User {
7 #[key]
8 #[auto]
9 id: ID,
10
11 #[has_many(pair = owner)]
12 todos: toasty::HasMany<Todo>,
13 }
14
15 #[derive(Debug, toasty::Model)]
16 struct Todo {
17 #[key]
18 #[auto]
19 id: ID,
20
21 #[belongs_to(key = owner_id, references = id)]
22 owner: toasty::BelongsTo<User>,
23
24 #[index]
25 owner_id: ID,
26
27 title: String,
28 }
29
30 let mut db = test.setup_db(models!(User, Todo)).await;
31
32 let user = User::create().exec(&mut db).await?;
34
35 let todo = user
37 .todos()
38 .create()
39 .title("hello world")
40 .exec(&mut db)
41 .await?;
42
43 assert_eq!(todo.title, "hello world");
44
45 let user_reloaded = todo.owner().get(&mut db).await?;
47
48 assert_eq!(user.id, user_reloaded.id);
49 Ok(())
50}