Skip to content

Commit 847e0d3

Browse files
committed
better testing of resolveApiVersion use
1 parent 687de29 commit 847e0d3

File tree

2 files changed

+70
-2
lines changed

2 files changed

+70
-2
lines changed

packages/app/src/cli/services/bulk-operations/bulk-operation-status.test.ts

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ describe('getBulkOperationStatus', () => {
179179
expect(output.info()).toContain('Bulk operation canceled.')
180180
})
181181

182-
test('calls resolveApiVersion with minimum API version', async () => {
182+
test('calls resolveApiVersion with minimum API version constant', async () => {
183183
vi.mocked(adminRequestDoc).mockResolvedValue(mockBulkOperation({status: 'RUNNING'}))
184184

185185
await getBulkOperationStatus({organization: mockOrganization, storeFqdn, operationId, remoteApp})
@@ -191,6 +191,19 @@ describe('getBulkOperationStatus', () => {
191191
)
192192
})
193193

194+
test('uses resolved API version in admin request', async () => {
195+
vi.mocked(resolveApiVersion).mockResolvedValue('test-api-version')
196+
vi.mocked(adminRequestDoc).mockResolvedValue(mockBulkOperation({status: 'RUNNING'}))
197+
198+
await getBulkOperationStatus({organization: mockOrganization, storeFqdn, operationId, remoteApp})
199+
200+
expect(adminRequestDoc).toHaveBeenCalledWith(
201+
expect.objectContaining({
202+
version: 'test-api-version',
203+
}),
204+
)
205+
})
206+
194207
describe('time formatting', () => {
195208
test('uses "Started" for running operations', async () => {
196209
vi.mocked(adminRequestDoc).mockResolvedValue(mockBulkOperation({status: 'RUNNING'}))
@@ -351,7 +364,7 @@ describe('listBulkOperations', () => {
351364
expect(output.info()).toContain('No bulk operations found in the last 7 days.')
352365
})
353366

354-
test('calls resolveApiVersion with minimum API version', async () => {
367+
test('calls resolveApiVersion with minimum API version constant', async () => {
355368
vi.mocked(adminRequestDoc).mockResolvedValue(mockBulkOperationsList([]))
356369

357370
await listBulkOperations({organization: mockOrganization, storeFqdn, remoteApp})
@@ -362,4 +375,17 @@ describe('listBulkOperations', () => {
362375
BULK_OPERATIONS_MIN_API_VERSION,
363376
)
364377
})
378+
379+
test('uses resolved API version in admin request', async () => {
380+
vi.mocked(resolveApiVersion).mockResolvedValue('test-api-version')
381+
vi.mocked(adminRequestDoc).mockResolvedValue(mockBulkOperationsList([]))
382+
383+
await listBulkOperations({organization: mockOrganization, storeFqdn, remoteApp})
384+
385+
expect(adminRequestDoc).toHaveBeenCalledWith(
386+
expect.objectContaining({
387+
version: 'test-api-version',
388+
}),
389+
)
390+
})
365391
})

packages/app/src/cli/services/bulk-operations/execute-bulk-operation.test.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {runBulkOperationQuery} from './run-query.js'
33
import {runBulkOperationMutation} from './run-mutation.js'
44
import {watchBulkOperation} from './watch-bulk-operation.js'
55
import {downloadBulkOperationResults} from './download-bulk-operation-results.js'
6+
import {BULK_OPERATIONS_MIN_API_VERSION} from './constants.js'
67
import {resolveApiVersion} from '../graphql/common.js'
78
import {BulkOperationRunQueryMutation} from '../../api/graphql/bulk-operations/generated/bulk-operation-run-query.js'
89
import {BulkOperationRunMutationMutation} from '../../api/graphql/bulk-operations/generated/bulk-operation-run-mutation.js'
@@ -501,4 +502,45 @@ describe('executeBulkOperation', () => {
501502

502503
expect(renderSuccess).not.toHaveBeenCalled()
503504
})
505+
506+
test('calls resolveApiVersion with minimum API version constant', async () => {
507+
const query = '{ products { edges { node { id } } } }'
508+
const mockResponse: BulkOperationRunQueryMutation['bulkOperationRunQuery'] = {
509+
bulkOperation: createdBulkOperation,
510+
userErrors: [],
511+
}
512+
vi.mocked(runBulkOperationQuery).mockResolvedValue(mockResponse)
513+
514+
await executeBulkOperation({
515+
organization: mockOrganization,
516+
remoteApp: mockRemoteApp,
517+
storeFqdn,
518+
query,
519+
})
520+
521+
expect(resolveApiVersion).toHaveBeenCalledWith(mockAdminSession, undefined, BULK_OPERATIONS_MIN_API_VERSION)
522+
})
523+
524+
test('uses resolved API version when running bulk operation', async () => {
525+
vi.mocked(resolveApiVersion).mockResolvedValue('test-api-version')
526+
const query = '{ products { edges { node { id } } } }'
527+
const mockResponse: BulkOperationRunQueryMutation['bulkOperationRunQuery'] = {
528+
bulkOperation: createdBulkOperation,
529+
userErrors: [],
530+
}
531+
vi.mocked(runBulkOperationQuery).mockResolvedValue(mockResponse)
532+
533+
await executeBulkOperation({
534+
organization: mockOrganization,
535+
remoteApp: mockRemoteApp,
536+
storeFqdn,
537+
query,
538+
})
539+
540+
expect(runBulkOperationQuery).toHaveBeenCalledWith({
541+
adminSession: mockAdminSession,
542+
query,
543+
version: 'test-api-version',
544+
})
545+
})
504546
})

0 commit comments

Comments
 (0)