From 1cc117ceb9bdefd1985d655023a5831bfae9aa04 Mon Sep 17 00:00:00 2001 From: Sanjai Kumar <161328623+sanjaikumar-bruno@users.noreply.github.com> Date: Thu, 18 Dec 2025 18:37:48 +0530 Subject: [PATCH] fix: crash when saving empty GraphQL query in YAML collections (#6453) * fix: ensure GraphQL variables are handled correctly in multiple components * fix: reverted some changes * chore: temp fix for tests --------- Co-authored-by: Bijin A B --- .../src/components/RequestPane/GraphQLRequestPane/index.js | 4 ++-- .../src/formats/yml/items/parseGraphQLRequest.ts | 4 ++-- tests/utils/page/actions.ts | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/index.js b/packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/index.js index 09ab54ab3..ecd85fa18 100644 --- a/packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/index.js +++ b/packages/bruno-app/src/components/RequestPane/GraphQLRequestPane/index.js @@ -46,8 +46,8 @@ const GraphQLRequestPane = ({ item, collection, onSchemaLoad, toggleDocs, handle ? get(item, 'draft.request.body.graphql.query', '') : get(item, 'request.body.graphql.query', ''); const variables = item.draft - ? get(item, 'draft.request.body.graphql.variables') - : get(item, 'request.body.graphql.variables'); + ? get(item, 'draft.request.body.graphql.variables', '') + : get(item, 'request.body.graphql.variables', ''); const { displayedTheme } = useTheme(); const [schema, setSchema] = useState(null); diff --git a/packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts b/packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts index f75a5f2e2..a6d527af3 100644 --- a/packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts +++ b/packages/bruno-filestore/src/formats/yml/items/parseGraphQLRequest.ts @@ -29,8 +29,8 @@ const parseGraphQLRequest = (ocRequest: GraphQLRequest): BrunoItem => { formUrlEncoded: [], multipartForm: [], graphql: { - query: (graphql?.body as GraphQLBody)?.query || null, - variables: (graphql?.body as GraphQLBody)?.variables || null + query: (graphql?.body as GraphQLBody)?.query || '', + variables: (graphql?.body as GraphQLBody)?.variables || '' }, file: [] }, diff --git a/tests/utils/page/actions.ts b/tests/utils/page/actions.ts index 59c48d5d0..1d27b0c86 100644 --- a/tests/utils/page/actions.ts +++ b/tests/utils/page/actions.ts @@ -382,6 +382,7 @@ const createEnvironment = async ( await expect(page.locator('.request-tab').filter({ hasText: tabLabel })).toBeVisible(); const locators = buildCommonLocators(page); + await page.waitForTimeout(200); // @TODO replace with dynamic waiting logic await locators.environment.selector().click(); if (type === 'global') { await locators.environment.globalTab().click();