1
0
Fork 1
mirror of https://example.com synced 2024-11-29 22:16:39 +09:00
firefish/packages/backend/native-utils/crates/model/tests/repository/antenna.rs

69 lines
1.9 KiB
Rust
Raw Normal View History

2023-06-01 01:24:02 +09:00
mod int_test {
2023-05-27 19:52:15 +09:00
use model::{
entity::{antenna, user},
repository::Repository,
schema,
};
use sea_orm::{ColumnTrait, EntityTrait, QueryFilter};
2023-05-27 18:50:07 +09:00
2023-05-27 19:52:15 +09:00
use crate::{cleanup, prepare};
2023-05-27 18:50:07 +09:00
2023-05-27 19:52:15 +09:00
#[tokio::test]
async fn can_pack() {
prepare().await;
let db = database::get_database().unwrap();
2023-05-27 18:50:07 +09:00
2023-05-27 19:52:15 +09:00
let alice_antenna = user::Entity::find()
.filter(user::Column::Username.eq("alice"))
.find_also_related(antenna::Entity)
.one(db)
.await
.unwrap()
.expect("alice not found")
.1
.expect("alice's antenna not found");
2023-05-27 18:50:07 +09:00
2023-05-27 19:52:15 +09:00
let packed = alice_antenna
.to_owned()
.pack()
.await
.expect("Unable to pack");
2023-05-27 18:50:07 +09:00
2023-05-27 19:52:15 +09:00
assert_eq!(
packed,
schema::antenna::Antenna {
id: alice_antenna.id,
created_at: alice_antenna.created_at.into(),
name: "Test Antenna".to_string(),
keywords: vec![
vec!["foo".to_string(), "bar".to_string()],
vec!["foobar".to_string()]
2023-06-01 01:09:30 +09:00
]
.into(),
2023-05-27 19:52:15 +09:00
exclude_keywords: vec![
vec!["abc".to_string()],
vec!["def".to_string(), "ghi".to_string()]
2023-06-01 01:09:30 +09:00
]
.into(),
2023-05-27 19:52:15 +09:00
src: schema::antenna::AntennaSrc::All,
user_list_id: None,
user_group_id: None,
2023-06-01 01:09:30 +09:00
users: vec![].into(),
instances: vec![].into(),
2023-05-27 19:52:15 +09:00
case_sensitive: true,
notify: true,
with_replies: false,
with_file: false,
has_unread_note: false,
}
);
2023-05-27 18:50:07 +09:00
2023-05-27 19:52:15 +09:00
cleanup().await;
}
2023-05-27 20:02:10 +09:00
#[tokio::test]
async fn unread_note() {
todo!();
}
2023-05-27 18:50:07 +09:00
}