Add load_one tests

This commit is contained in:
Panagiotis Karatakis 2022-11-22 12:24:18 +02:00
parent f7f90cd7c5
commit 2bba146e9b

View File

@ -284,6 +284,54 @@ where
mod tests { mod tests {
#[tokio::test] #[tokio::test]
async fn test_load_one() {
use crate::{
entity::prelude::*, tests_cfg::*, DbBackend, IntoMockRow, LoaderTrait, MockDatabase,
};
let db = MockDatabase::new(DbBackend::Postgres)
.append_query_results(vec![
vec![
cake::Model {
id: 1,
name: "New York Cheese".to_owned(),
}.into_mock_row(),
cake::Model {
id: 2,
name: "London Cheese".to_owned(),
}.into_mock_row()
],
])
.into_connection();
let fruits = vec![
fruit::Model {
id: 1,
name: "Apple".to_owned(),
cake_id: Some(1),
}
];
let cakes = fruits
.load_one(cake::Entity::find(), &db)
.await
.expect("Should return something");
assert_eq!(
cakes,
vec![
Some(
cake::Model {
id: 1,
name: "New York Cheese".to_owned(),
}
)
]
);
}
#[tokio::test]
async fn test_load_many() { async fn test_load_many() {
use crate::{ use crate::{
entity::prelude::*, tests_cfg::*, DbBackend, IntoMockRow, LoaderTrait, MockDatabase, entity::prelude::*, tests_cfg::*, DbBackend, IntoMockRow, LoaderTrait, MockDatabase,