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,
|
put: vi.fn(),
|
},
|
}));
|
|
// eslint-disable-next-line import/first -- request module must be mocked before loading the API wrapper.
|
import {
|
getFormulaTemplateReferences,
|
preReleaseFormulaVersion,
|
switchCurrentFormulaVersion,
|
} from './formulas';
|
|
describe('eln formula API paths', () => {
|
beforeEach(() => vi.clearAllMocks());
|
|
it('uses lowerCamelCase path segments', () => {
|
getFormulaTemplateReferences('formula-1', { currentPage: 1, pageSize: 20 });
|
preReleaseFormulaVersion('version-1');
|
switchCurrentFormulaVersion('formula-1', { reason: 'switch', versionId: 'version-1' });
|
|
expect(requestMocks.get).toHaveBeenCalledWith({
|
data: { currentPage: 1, pageSize: 20 },
|
url: '/api/eln/formulaCatalog/formula-1/templateReferences',
|
});
|
expect(requestMocks.post.mock.calls.map(([request]) => request.url)).toEqual([
|
'/api/eln/formulaCatalog/versions/version-1/preRelease',
|
'/api/eln/formulaCatalog/formula-1/currentVersion',
|
]);
|
});
|
});
|