File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed
packages/app/src/cli/services/bulk-operations Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change 11import { runBulkOperationQuery } from './run-query.js'
22import { adminRequestDoc } from '@shopify/cli-kit/node/api/admin'
3+ import { AbortError } from '@shopify/cli-kit/node/error'
34import { describe , test , expect , vi } from 'vitest'
45
56vi . mock ( '@shopify/cli-kit/node/api/admin' )
@@ -33,4 +34,19 @@ describe('runBulkOperationQuery', () => {
3334 expect ( bulkOperationResult ?. bulkOperation ) . toEqual ( successfulBulkOperation )
3435 expect ( bulkOperationResult ?. userErrors ) . toEqual ( [ ] )
3536 } )
37+
38+ test ( 'throws AbortError when variables are provided with a query' , async ( ) => {
39+ const query = '{ products { edges { node { id } } } }'
40+ const variables = '[{"input":{"id":"gid://shopify/Product/123"}}]'
41+
42+ await expect (
43+ runBulkOperationQuery ( {
44+ adminSession : mockSession ,
45+ query,
46+ variables,
47+ } ) ,
48+ ) . rejects . toThrow ( AbortError )
49+
50+ expect ( adminRequestDoc ) . not . toHaveBeenCalled ( )
51+ } )
3652} )
Original file line number Diff line number Diff line change 44} from '../../api/graphql/bulk-operations/generated/bulk-operation-run-query.js'
55import { adminRequestDoc } from '@shopify/cli-kit/node/api/admin'
66import { AdminSession } from '@shopify/cli-kit/node/session'
7+ import { AbortError } from '@shopify/cli-kit/node/error'
8+ import { outputContent , outputToken } from '@shopify/cli-kit/node/output'
79
810interface BulkOperationRunQueryOptions {
911 adminSession : AdminSession
@@ -13,7 +15,14 @@ interface BulkOperationRunQueryOptions {
1315export async function runBulkOperationQuery (
1416 options : BulkOperationRunQueryOptions ,
1517) : Promise < BulkOperationRunQueryMutation [ 'bulkOperationRunQuery' ] > {
16- const { adminSession, query} = options
18+ const { adminSession, query, variables} = options
19+
20+ if ( variables ) {
21+ throw new AbortError (
22+ outputContent `The ${ outputToken . yellow ( '--variables' ) } flag can only be used with mutations, not queries.` ,
23+ )
24+ }
25+
1726 const response = await adminRequestDoc < BulkOperationRunQueryMutation , { query : string } > ( {
1827 query : BulkOperationRunQuery ,
1928 session : adminSession ,
You can’t perform that action at this time.
0 commit comments