From 64eac3d7c1a0211568d05f54c2bdc2f181757dbf Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Sat, 22 Mar 2025 03:53:01 +0100 Subject: [PATCH] Added create/delete group queries (#8) --- queries/src/lib.rs | 38 +++++++++++++++++++ ...eries__tests__create_group_gql_output.snap | 10 +++++ ...eries__tests__delete_group_gql_output.snap | 9 +++++ 3 files changed, 57 insertions(+) create mode 100644 queries/src/snapshots/queries__tests__create_group_gql_output.snap create mode 100644 queries/src/snapshots/queries__tests__delete_group_gql_output.snap diff --git a/queries/src/lib.rs b/queries/src/lib.rs index 74ce27b..2869489 100644 --- a/queries/src/lib.rs +++ b/queries/src/lib.rs @@ -86,6 +86,30 @@ pub struct GetGroups { pub groups: Vec, } +#[derive(cynic::QueryVariables, Debug)] +pub struct CreateGroupVariables<'a> { + pub name: &'a str, +} + +#[derive(cynic::QueryFragment, Debug)] +#[cynic(graphql_type = "Mutation", variables = "CreateGroupVariables")] +pub struct CreateGroup { + #[arguments(name: $name)] + pub create_group: Group, +} + +#[derive(cynic::QueryVariables, Debug)] +pub struct DeleteGroupVariables { + pub id: i32, +} + +#[derive(cynic::QueryFragment, Debug)] +#[cynic(graphql_type = "Mutation", variables = "DeleteGroupVariables")] +pub struct DeleteGroup { + #[arguments(groupId: $id)] + pub delete_group: Success, +} + #[cfg(test)] mod tests { use cynic::{MutationBuilder, QueryBuilder}; @@ -139,4 +163,18 @@ mod tests { insta::assert_snapshot!(operation.query); } + + #[test] + fn create_group_gql_output() { + let operation = CreateGroup::build(CreateGroupVariables { name: "group" }); + + insta::assert_snapshot!(operation.query); + } + + #[test] + fn delete_group_gql_output() { + let operation = DeleteGroup::build(DeleteGroupVariables { id: 0 }); + + insta::assert_snapshot!(operation.query); + } } diff --git a/queries/src/snapshots/queries__tests__create_group_gql_output.snap b/queries/src/snapshots/queries__tests__create_group_gql_output.snap new file mode 100644 index 0000000..83f26ff --- /dev/null +++ b/queries/src/snapshots/queries__tests__create_group_gql_output.snap @@ -0,0 +1,10 @@ +--- +source: queries/src/lib.rs +expression: operation.query +--- +mutation CreateGroup($name: String!) { + createGroup(name: $name) { + id + displayName + } +} diff --git a/queries/src/snapshots/queries__tests__delete_group_gql_output.snap b/queries/src/snapshots/queries__tests__delete_group_gql_output.snap new file mode 100644 index 0000000..98989da --- /dev/null +++ b/queries/src/snapshots/queries__tests__delete_group_gql_output.snap @@ -0,0 +1,9 @@ +--- +source: queries/src/lib.rs +expression: operation.query +--- +mutation DeleteGroup($id: Int!) { + deleteGroup(groupId: $id) { + ok + } +}