1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-07-31 13:47:02 +02:00

Chore: cleanup

This commit is contained in:
Thomas Heartman 2022-07-22 11:32:47 +02:00
parent 89fadf3e87
commit c6fa6b6a0f
2 changed files with 18 additions and 46 deletions

View File

@ -1,13 +1,11 @@
import { SchemaObject } from 'ajv';
import fc, { Arbitrary } from 'fast-check';
import { OpenAPIV3 } from 'openapi-types';
import { urlFriendlyString } from '../../../test/arbitraries.test';
import {
createQueryParameters,
ParameterDetails,
Parameters,
ParameterType,
toParamObject,
} from './query-parameters';
const paramName = urlFriendlyString;
@ -38,43 +36,6 @@ const parameterDetails = (): Arbitrary<Parameters> =>
fc.dictionary(paramName(), parameterDescription());
describe('request parameter utils', () => {
const parameterDetailsAreMappedCorrectly = (
parameterDetailsObject: ParameterDetails<unknown>,
parameterObject: OpenAPIV3.ParameterObject,
) => {
const schema: SchemaObject = parameterObject.schema;
return (
schema.type === parameterDetailsObject.type &&
parameterObject.description ===
parameterDetailsObject.description &&
parameterObject.example === parameterDetailsObject.example &&
schema.enum === parameterDetailsObject.enum &&
schema.default === parameterDetailsObject.default &&
parameterObject.required === parameterDetailsObject.required
);
};
it('turns a name and a parameter details description into a parameter object', () => {
fc.assert(
fc.property(
paramName(),
parameterDescription(),
fc.context(),
(name, details, ctx) => {
const result = toParamObject(name, details);
ctx.log(JSON.stringify(result));
return (
result.name === name &&
parameterDetailsAreMappedCorrectly(details, result)
);
},
),
);
});
it('turns an object of names and descriptions into a an expected parameter list', () => {
fc.assert(
fc.property(parameterDetails(), fc.context(), (parameters, ctx) => {
@ -82,12 +43,23 @@ describe('request parameter utils', () => {
ctx.log(JSON.stringify(result));
return result.every((paramsObject) =>
parameterDetailsAreMappedCorrectly(
parameters[paramsObject.name],
paramsObject,
),
);
return result.every((paramsObject) => {
const parameterDetailsObject =
parameters[paramsObject.name];
const schema: SchemaObject = paramsObject.schema;
return (
schema.type === parameterDetailsObject.type &&
paramsObject.description ===
parameterDetailsObject.description &&
paramsObject.example ===
parameterDetailsObject.example &&
schema.enum === parameterDetailsObject.enum &&
schema.default === parameterDetailsObject.default &&
paramsObject.required ===
parameterDetailsObject.required
);
});
}),
);
});

View File

@ -15,7 +15,7 @@ export type Parameters = {
[parameterName: string]: ParameterDetails<unknown>;
};
export const toParamObject = (
const toParamObject = (
name: string,
details: ParameterDetails<unknown>,
): OpenAPIV3.ParameterObject => ({