Skip to content

Commit bd338a2

Browse files
Danila RubleuskiDanilaRubleuski
authored andcommitted
WEBAPP-33012: Clean up taxonomy fetchers in BUIE
1 parent 141cf6e commit bd338a2

File tree

3 files changed

+22
-129
lines changed

3 files changed

+22
-129
lines changed

src/common/types/metadata.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,13 @@ type MetadataSuggestion = {
138138

139139
type MetadataOptionEntryAncestor = {
140140
id: string,
141-
display_name: string,
141+
displayName: string,
142142
level: string,
143143
};
144144

145145
type MetadataOptionEntry = {
146146
id: string,
147-
display_name: string,
147+
displayName: string,
148148
level: number,
149149
ancestors: MetadataOptionEntryAncestor[],
150150
deprecated: boolean,

src/elements/content-sidebar/__tests__/metadataTaxonomyFetcher.test.ts

Lines changed: 15 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('metadataTaxonomyFetcher', () => {
2424
entries: [
2525
{
2626
id: 'opt1',
27-
display_name: 'Option 1',
27+
displayName: 'Option 1',
2828
level: '1',
2929
parentId: 'parent1',
3030
nodePath: ['node1', 'node2'],
@@ -34,12 +34,12 @@ describe('metadataTaxonomyFetcher', () => {
3434
},
3535
{
3636
id: 'opt2',
37-
display_name: 'Option 2',
37+
displayName: 'Option 2',
3838
level: '2',
3939
parentId: 'parent2',
4040
nodePath: ['node1', 'node3'],
4141
deprecated: true,
42-
ancestors: [{ display_name: 'Option 1', foo: 'bar' }],
42+
ancestors: [{ displayName: 'Option 1', foo: 'bar' }],
4343
selectable: true
4444
},
4545
],
@@ -185,7 +185,7 @@ describe('metadataTaxonomyFetcher', () => {
185185
entries: [
186186
{
187187
id: 'opt1',
188-
display_name: 'Option 1',
188+
displayName: 'Option 1',
189189
level: '1',
190190
parentId: 'parent1',
191191
},
@@ -220,7 +220,7 @@ describe('metadataTaxonomyFetcher', () => {
220220
const mockMetadataOptions = {
221221
entries: [{
222222
id: 'opt1',
223-
display_name: 'Option 1',
223+
displayName: 'Option 1',
224224
parentId: undefined,
225225
nodePath: undefined,
226226
deprecated: undefined,
@@ -250,7 +250,7 @@ describe('metadataTaxonomyFetcher', () => {
250250
entries: [
251251
{
252252
id: 'opt1',
253-
display_name: 'Option 1',
253+
displayName: 'Option 1',
254254
level: '1',
255255
ancestors: null,
256256
selectable: false
@@ -291,113 +291,6 @@ describe('metadataTaxonomyFetcher', () => {
291291
});
292292
});
293293

294-
// TODO: delete whole section during clean up as for now we have to handle both new and old naming convention
295-
describe('metadataTaxonomyNodeAncestorsFetcher (old keys naming convention)', () => {
296-
const fileID = '12345';
297-
const scope = 'global';
298-
const taxonomyKey = 'taxonomy_123';
299-
const nodeID = 'node_abc';
300-
301-
let apiMock: jest.Mocked<API>;
302-
303-
beforeEach(() => {
304-
apiMock = {
305-
getMetadataAPI: jest.fn().mockReturnValue({
306-
getMetadataTaxonomy: jest.fn(),
307-
getMetadataTaxonomyNode: jest.fn(),
308-
}),
309-
};
310-
});
311-
312-
test('should fetch taxonomy and node data and return formatted data', async () => {
313-
const mockTaxonomy = {
314-
display_name: 'Geography',
315-
namespace: 'my_enterprise',
316-
id: 'my_id',
317-
key: 'geography',
318-
levels: [
319-
{ level: 1, display_name: 'Level 1', description: 'Description 1' },
320-
{ level: 2, display_name: 'Level 2', description: 'Description 2' },
321-
{ level: 3, display_name: 'Level 3', description: 'Description 3' },
322-
],
323-
};
324-
325-
const mockTaxonomyNode = {
326-
id: 'node_abc',
327-
level: 1,
328-
display_name: 'Node ABC',
329-
ancestors: [{ id: 'ancestor_1', level: 2, display_name: 'Ancestor 1' }],
330-
};
331-
332-
apiMock.getMetadataAPI(false).getMetadataTaxonomy.mockResolvedValue(mockTaxonomy);
333-
apiMock.getMetadataAPI(false).getMetadataTaxonomyNode.mockResolvedValue(mockTaxonomyNode);
334-
335-
const result = await metadataTaxonomyNodeAncestorsFetcher(apiMock, fileID, scope, taxonomyKey, nodeID);
336-
337-
const expectedResult = [
338-
{
339-
level: 1,
340-
levelName: 'Level 1',
341-
description: 'Description 1',
342-
id: 'node_abc',
343-
levelValue: 'Node ABC',
344-
},
345-
{
346-
level: 2,
347-
levelName: 'Level 2',
348-
description: 'Description 2',
349-
id: 'ancestor_1',
350-
levelValue: 'Ancestor 1',
351-
},
352-
];
353-
354-
expect(apiMock.getMetadataAPI).toHaveBeenCalledWith(false);
355-
expect(apiMock.getMetadataAPI(false).getMetadataTaxonomy).toHaveBeenCalledWith(fileID, scope, taxonomyKey);
356-
expect(apiMock.getMetadataAPI(false).getMetadataTaxonomyNode).toHaveBeenCalledWith(
357-
fileID,
358-
scope,
359-
taxonomyKey,
360-
nodeID,
361-
true,
362-
);
363-
expect(result).toEqual(expectedResult);
364-
});
365-
366-
test('should handle empty ancestors array', async () => {
367-
const mockTaxonomy = {
368-
display_name: 'Geography',
369-
namespace: 'my_enterprise',
370-
id: 'my_id',
371-
key: 'geography',
372-
levels: [{ level: 1, display_name: 'Level 1', description: 'Description 1' }],
373-
};
374-
375-
const mockTaxonomyNode = {
376-
id: 'node_abc',
377-
level: 1,
378-
display_name: 'Node ABC',
379-
ancestors: [],
380-
};
381-
382-
apiMock.getMetadataAPI(false).getMetadataTaxonomy.mockResolvedValue(mockTaxonomy);
383-
apiMock.getMetadataAPI(false).getMetadataTaxonomyNode.mockResolvedValue(mockTaxonomyNode);
384-
385-
const result = await metadataTaxonomyNodeAncestorsFetcher(apiMock, fileID, scope, taxonomyKey, nodeID);
386-
387-
const expectedResult = [
388-
{
389-
level: 1,
390-
levelName: 'Level 1',
391-
description: 'Description 1',
392-
id: 'node_abc',
393-
levelValue: 'Node ABC',
394-
},
395-
];
396-
397-
expect(result).toEqual(expectedResult);
398-
});
399-
});
400-
401294
describe('metadataTaxonomyNodeAncestorsFetcher (new keys naming convention)', () => {
402295
const fileID = '12345';
403296
const scope = 'global';
@@ -417,22 +310,22 @@ describe('metadataTaxonomyNodeAncestorsFetcher (new keys naming convention)', ()
417310

418311
test('should fetch taxonomy and node data and return formatted data', async () => {
419312
const mockTaxonomy = {
420-
display_name: 'Geography',
313+
displayName: 'Geography',
421314
namespace: 'my_enterprise',
422315
id: 'my_id',
423316
key: 'geography',
424317
levels: [
425-
{ level: 1, display_name: 'Level 1', description: 'Description 1' },
426-
{ level: 2, display_name: 'Level 2', description: 'Description 2' },
427-
{ level: 3, display_name: 'Level 3', description: 'Description 3' },
318+
{ level: 1, displayName: 'Level 1', description: 'Description 1' },
319+
{ level: 2, displayName: 'Level 2', description: 'Description 2' },
320+
{ level: 3, displayName: 'Level 3', description: 'Description 3' },
428321
],
429322
};
430323

431324
const mockTaxonomyNode = {
432325
id: 'node_abc',
433326
level: 1,
434-
display_name: 'Node ABC',
435-
ancestors: [{ id: 'ancestor_1', level: 2, display_name: 'Ancestor 1' }],
327+
displayName: 'Node ABC',
328+
ancestors: [{ id: 'ancestor_1', level: 2, displayName: 'Ancestor 1' }],
436329
};
437330

438331
apiMock.getMetadataAPI(false).getMetadataTaxonomy.mockResolvedValue(mockTaxonomy);
@@ -471,17 +364,17 @@ describe('metadataTaxonomyNodeAncestorsFetcher (new keys naming convention)', ()
471364

472365
test('should handle empty ancestors array', async () => {
473366
const mockTaxonomy = {
474-
display_name: 'Geography',
367+
displayName: 'Geography',
475368
namespace: 'my_enterprise',
476369
id: 'my_id',
477370
key: 'geography',
478-
levels: [{ level: 1, display_name: 'Level 1', description: 'Description 1' }],
371+
levels: [{ level: 1, displayName: 'Level 1', description: 'Description 1' }],
479372
};
480373

481374
const mockTaxonomyNode = {
482375
id: 'node_abc',
483376
level: 1,
484-
display_name: 'Node ABC',
377+
displayName: 'Node ABC',
485378
ancestors: [],
486379
};
487380

src/elements/content-sidebar/fetchers/metadataTaxonomyFetcher.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ export const metadataTaxonomyFetcher = async (
1919
return {
2020
options: metadataOptions.entries.map((metadataOption: MetadataOptionEntry) => ({
2121
value: metadataOption.id,
22-
displayValue: metadataOption.display_name || metadataOption.displayName,
22+
displayValue: metadataOption.displayName,
2323
level: metadataOption.level,
2424
parentId: metadataOption.parentId,
2525
nodePath: metadataOption.nodePath,
2626
deprecated: metadataOption.deprecated,
27-
ancestors: metadataOption.ancestors?.map(({display_name, displayName, ...rest}) => ({...rest, displayName: display_name || displayName })),
27+
ancestors: metadataOption.ancestors?.map(({displayName, ...rest}) => ({...rest, displayName })),
2828
selectable: metadataOption.selectable,
2929
})),
3030
marker,
@@ -62,7 +62,7 @@ export const metadataTaxonomyNodeAncestorsFetcher = async (
6262
for (const item of metadataTaxonomy.levels) {
6363
const levelData = {
6464
level: item.level,
65-
levelName: item.displayName || item.display_name,
65+
levelName: item.displayName,
6666
description: item.description,
6767
};
6868

@@ -71,7 +71,7 @@ export const metadataTaxonomyNodeAncestorsFetcher = async (
7171
levelsMap.set(item.level, {
7272
...levelData,
7373
id: metadataTaxonomyNode.id,
74-
levelValue: metadataTaxonomyNode.displayName || metadataTaxonomyNode.display_name,
74+
levelValue: metadataTaxonomyNode.displayName,
7575
});
7676
// If the level is not the metadataTaxonomyNode level, just add the level data
7777
} else {
@@ -84,7 +84,7 @@ export const metadataTaxonomyNodeAncestorsFetcher = async (
8484
const levelData = levelsMap.get(ancestor.level);
8585

8686
if (levelData) {
87-
levelsMap.set(ancestor.level, { ...levelData, levelValue: ancestor.displayName || ancestor.display_name, id: ancestor.id });
87+
levelsMap.set(ancestor.level, { ...levelData, levelValue: ancestor.displayName, id: ancestor.id });
8888
}
8989
}
9090
}

0 commit comments

Comments
 (0)