add tests

This commit is contained in:
2023-02-11 15:23:41 +01:00
parent c4edd29f50
commit 19b46b6cf0
3 changed files with 75 additions and 34 deletions

View File

@@ -19,30 +19,24 @@ pub fn render_fields(fields: &Vec<FullTypeFields>) -> eyre::Result<Option<rust::
};
let mut tkns = rust::Tokens::new();
if let Some(desc) = &description {
tkns.append(desc);
tkns.push()
}
if let Some(args) = args.as_ref() {
if let Some(desc) = args.description.as_ref() {
tkns.append("/// # Arguments");
tkns.push();
tkns.append("///");
tkns.push();
tkns.append(desc);
tkns.push();
}
tkns.append(quote! {
$description
pub struct $(&name)Args {
$(&args.args)
}
});
tkns.push();
}
tkns.append(quote! {
pub fn $name(
pub fn $(&name)(
&self,
$(if let Some(args) = args.as_ref() => $(&args.args))
$(if let Some(_) = args.as_ref() => args: $(&name)Args)
) -> $(&output) {
let query = self.selection.select("$(field.name.as_ref())");
let query = query.arg("args", args).unwrap();
let query = self.selection.select($(field.name.as_ref().map(|n| format!("\"{}\"", n))));
$(if let Some(_) = args.as_ref() => query.args(args);)
$output {
conn: self.conn.clone(),