import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
const requestMocks = vi.hoisted(() => ({
|
get: vi.fn(),
|
post: vi.fn(),
|
}));
|
|
vi.mock('#/api/request', () => ({
|
defHttp: {
|
get: requestMocks.get,
|
post: requestMocks.post,
|
},
|
}));
|
|
// eslint-disable-next-line import/first -- request module must be mocked before loading the API wrapper.
|
import { createRecordsBatch, executeSharedFill, getRecordByTestWorkItem, previewSharedFill } from './records';
|
|
describe('eln record API', () => {
|
beforeEach(() => vi.clearAllMocks());
|
|
it('uses the test-work-item route for the current record', () => {
|
getRecordByTestWorkItem('item/1');
|
|
expect(requestMocks.get).toHaveBeenCalledWith({
|
url: '/api/eln/records/byTestWorkItem/item%2F1',
|
});
|
});
|
|
it('sends test-work-item IDs for batch creation and shared-fill preview', () => {
|
createRecordsBatch({ operationCode: 'op-1', testWorkItemIds: ['item-1'] });
|
previewSharedFill({ testWorkItemIds: ['item-1', 'item-2'] });
|
executeSharedFill({ operationCode: 'op-2', previewToken: 'preview-1', targets: [], testWorkItemIds: [], values: [] });
|
|
expect(requestMocks.post).toHaveBeenNthCalledWith(1, {
|
data: { operationCode: 'op-1', testWorkItemIds: ['item-1'] },
|
url: '/api/eln/records/batch',
|
});
|
expect(requestMocks.post).toHaveBeenNthCalledWith(2, {
|
data: { testWorkItemIds: ['item-1', 'item-2'] },
|
url: '/api/eln/records/sharedFill/preview',
|
});
|
expect(requestMocks.post).toHaveBeenNthCalledWith(3, {
|
data: { operationCode: 'op-2', previewToken: 'preview-1', targets: [], testWorkItemIds: [], values: [] },
|
url: '/api/eln/records/sharedFill/execute',
|
});
|
});
|
});
|