use crate::execute;
#[tokio::test]
async fn create_one() {
let request = async_graphql::Request::new(
r#"
mutation {
create_user(create_user_input: { values: { name: "Nick", age: 30, married: true, email: "nickisyourfan@gmail.com" } }) {
data {
_id
}
}
}
"#,
);
let response = execute(request, None).await;
assert!(response.is_ok());
}
#[tokio::test]
async fn create_one_nested_object() {
let request = async_graphql::Request::new(
r#"
mutation {
create_user(create_user_input: {
values: {
name: "Rory",
age: 22,
married: false,
email: "rory@rory.com",
address: {
line_one: "address lineone",
line_two: "address linetwo",
city: "address city",
state: "address state",
zip: "address zip"
}
}
}) {
data {
_id
}
}
}
"#,
);
let response = execute(request, None).await;
assert!(response.is_ok());
}
#[tokio::test]
async fn create_one_with_default_value() {
let request = async_graphql::Request::new(
r#"
mutation {
create_user(create_user_input: { values: { name: "Nick", age: 30, married: true, email: "nick@nick.com" } }) {
data {
_id
middle_name
}
}
}
"#,
);
let response = execute(request, None).await;
assert!(response.is_ok());
let data = response.data.into_json().unwrap();
let middle_name = data["create_user"]["data"]["middle_name"].as_str().unwrap();
assert_eq!(middle_name, "jack");
}