test(catalog): add test for search by displayName

Signed-off-by: Julien <julien.hery@ext.adeo.com>
This commit is contained in:
Julien
2024-10-25 11:59:50 +02:00
parent e3f5e20e94
commit db7ea24112
2 changed files with 73 additions and 1 deletions
@@ -1124,7 +1124,6 @@ describe('DefaultEntitiesCatalog', () => {
const request: QueryEntitiesInitialRequest = {
filter,
limit: 100,
orderFields: [{ field: 'metadata.name', order: 'asc' }],
fullTextFilter: { term: 'cAt ' },
credentials: mockCredentials.none(),
@@ -1141,6 +1140,60 @@ describe('DefaultEntitiesCatalog', () => {
},
);
it.each(databases.eachSupportedId())(
'should filter the results when query is provided with fullTextFilter for camelCase fields, %p',
async databaseId => {
await createDatabase(databaseId);
const entities: Entity[] = [
{
apiVersion: 'a',
kind: 'k',
metadata: {
name: 'camelCase',
},
spec: {
shouldSearchCamelCase: 'searched',
},
},
];
const notFoundEntities: Entity[] = [
{
apiVersion: 'a',
kind: 'k',
metadata: { name: 'something' },
spec: {},
},
];
await Promise.all(
entities.concat(notFoundEntities).map(e => addEntityToSearch(e)),
);
const catalog = new DefaultEntitiesCatalog({
database: knex,
logger: mockServices.logger.mock(),
stitcher,
});
const request: QueryEntitiesInitialRequest = {
limit: 100,
orderFields: [{ field: 'metadata.name', order: 'asc' }],
fullTextFilter: {
term: 'sear',
fields: ['spec.shouldSearchCamelCase'],
},
credentials: mockCredentials.none(),
};
const response = await catalog.queryEntities(request);
expect(response.items).toEqual(entities);
expect(response.pageInfo.nextCursor).toBeUndefined();
expect(response.pageInfo.prevCursor).toBeUndefined();
expect(response.totalItems).toBe(1);
},
);
it.each(databases.eachSupportedId())(
'should filter the text results when sortOrder is not provided, %p',
async databaseId => {
+19
View File
@@ -41,6 +41,18 @@ const entities: Entity[] = [
tags: ['gRPC', 'java'],
},
},
{
apiVersion: '1',
kind: 'User',
metadata: {
name: 'user',
},
spec: {
profile: {
displayName: 'John Doe',
},
},
},
];
const templates: TemplateEntityV1beta3[] = [
@@ -79,6 +91,13 @@ describe('EntityTextFilter', () => {
expect(filter.filterEntity(entities[1])).toBeFalsy();
});
it('should search displayName', () => {
const filter = new EntityTextFilter('John D');
expect(filter.filterEntity(entities[0])).toBeFalsy();
expect(filter.filterEntity(entities[1])).toBeFalsy();
expect(filter.filterEntity(entities[2])).toBeTruthy();
});
it('should search template title', () => {
const filter = new EntityTextFilter('spring');
expect(filter.filterEntity(templates[0])).toBeFalsy();