mirror of
https://github.com/Unleash/unleash.git
synced 2024-11-01 19:07:38 +01:00
eafba10cac
## About the changes The deprecated /api/admin/features endpoint supported querying with tag and namePrefix parameters. This PR adds this functionality to /api/admin/projects/<project>/features as well, allowing to replicate queries that used to work. Closes #2306 ### Important files src/lib/db/feature-strategy-store.ts src/test/e2e/stores/feature-strategies-store.e2e.test.ts ## Discussion points I'm extending our query parameters support for /api/admin/projects/<projectId>/features endpoint. This will be reflected in our open-api spec, so I also made an adminFeaturesQuerySchema for this. Also, very open for something similar to what we did for the modifyQuery for the archived parameter, but couldn't come up with a good way to support subselects using the query builder, it just ended up blowing the stack. If anyone has a suggestion, I'm all ears. Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
32 lines
926 B
TypeScript
32 lines
926 B
TypeScript
import { validateSchema } from '../validate';
|
|
import { AdminFeaturesQuerySchema } from './admin-features-query-schema';
|
|
|
|
test('adminFeaturesQuerySchema empty', () => {
|
|
const data: AdminFeaturesQuerySchema = {};
|
|
|
|
expect(
|
|
validateSchema('#/components/schemas/adminFeaturesQuerySchema', data),
|
|
).toBeUndefined();
|
|
});
|
|
|
|
test('adminFeatureQuerySchema all fields', () => {
|
|
const data: AdminFeaturesQuerySchema = {
|
|
tag: ['simple:some-tag', 'simple:some-other-tag'],
|
|
namePrefix: 'some-prefix',
|
|
};
|
|
|
|
expect(
|
|
validateSchema('#/components/schemas/adminFeaturesQuerySchema', data),
|
|
).toBeUndefined();
|
|
});
|
|
|
|
test('pattern validation should deny invalid tags', () => {
|
|
const data: AdminFeaturesQuerySchema = {
|
|
tag: ['something', 'somethingelse'],
|
|
};
|
|
|
|
expect(
|
|
validateSchema('#/components/schemas/adminFeaturesQuerySchema', data),
|
|
).toBeDefined();
|
|
});
|