Use base parameters

This commit is contained in:
James Brunton 2025-08-20 11:07:19 +01:00
parent 29176b5034
commit dd20a3c0a3
2 changed files with 14 additions and 30 deletions

View File

@ -1,12 +1,12 @@
import { describe, expect, test } from 'vitest';
import { renderHook, act } from '@testing-library/react';
import { useMergeParameters, defaultMergeParameters } from './useMergeParameters';
import { useMergeParameters, defaultParameters } from './useMergeParameters';
describe('useMergeParameters', () => {
test('should initialize with default parameters', () => {
const { result } = renderHook(() => useMergeParameters());
expect(result.current.parameters).toStrictEqual(defaultMergeParameters);
expect(result.current.parameters).toStrictEqual(defaultParameters);
});
test.each([
@ -41,7 +41,7 @@ describe('useMergeParameters', () => {
result.current.resetParameters();
});
expect(result.current.parameters).toStrictEqual(defaultMergeParameters);
expect(result.current.parameters).toStrictEqual(defaultParameters);
});
test('should validate parameters correctly - always returns true', () => {

View File

@ -1,37 +1,21 @@
import { useState, useCallback } from 'react';
import { BaseParameters } from '../../../types/parameters';
import { BaseParametersHook, useBaseParameters } from '../shared/useBaseParameters';
export interface MergeParameters {
export interface MergeParameters extends BaseParameters {
removeDigitalSignature: boolean;
generateTableOfContents: boolean;
}
};
export const defaultMergeParameters: MergeParameters = {
export const defaultParameters: MergeParameters = {
removeDigitalSignature: false,
generateTableOfContents: false,
};
export const useMergeParameters = () => {
const [parameters, setParameters] = useState<MergeParameters>(defaultMergeParameters);
export type MergeParametersHook = BaseParametersHook<MergeParameters>;
const updateParameter = useCallback(<K extends keyof MergeParameters>(
key: K,
value: MergeParameters[K]
) => {
setParameters(prev => ({ ...prev, [key]: value }));
}, []);
const validateParameters = useCallback((): boolean => {
return true; // Merge has no required parameters
}, []);
const resetParameters = useCallback(() => {
setParameters(defaultMergeParameters);
}, []);
return {
parameters,
updateParameter,
validateParameters,
resetParameters,
};
export const useMergeParameters = (): MergeParametersHook => {
return useBaseParameters({
defaultParameters,
endpointName: "merge-pdfs",
});
};