Skip to content

Commit 2aeb596

Browse files
committed
better testing of resolveApiVersion use
1 parent db481d2 commit 2aeb596

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, shortBulkOperationPoll} 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'
@@ -675,4 +676,45 @@ describe('executeBulkOperation', () => {
675676
}),
676677
)
677678
})
679+
680+
test('calls resolveApiVersion with minimum API version constant', async () => {
681+
const query = '{ products { edges { node { id } } } }'
682+
const mockResponse: BulkOperationRunQueryMutation['bulkOperationRunQuery'] = {
683+
bulkOperation: createdBulkOperation,
684+
userErrors: [],
685+
}
686+
vi.mocked(runBulkOperationQuery).mockResolvedValue(mockResponse)
687+
688+
await executeBulkOperation({
689+
organization: mockOrganization,
690+
remoteApp: mockRemoteApp,
691+
storeFqdn,
692+
query,
693+
})
694+
695+
expect(resolveApiVersion).toHaveBeenCalledWith(mockAdminSession, undefined, BULK_OPERATIONS_MIN_API_VERSION)
696+
})
697+
698+
test('uses resolved API version when running bulk operation', async () => {
699+
vi.mocked(resolveApiVersion).mockResolvedValue('test-api-version')
700+
const query = '{ products { edges { node { id } } } }'
701+
const mockResponse: BulkOperationRunQueryMutation['bulkOperationRunQuery'] = {
702+
bulkOperation: createdBulkOperation,
703+
userErrors: [],
704+
}
705+
vi.mocked(runBulkOperationQuery).mockResolvedValue(mockResponse)
706+
707+
await executeBulkOperation({
708+
organization: mockOrganization,
709+
remoteApp: mockRemoteApp,
710+
storeFqdn,
711+
query,
712+
})
713+
714+
expect(runBulkOperationQuery).toHaveBeenCalledWith({
715+
adminSession: mockAdminSession,
716+
query,
717+
version: 'test-api-version',
718+
})
719+
})
678720
})

0 commit comments

Comments
 (0)