Skip to content

Commit

Permalink
feat(metadata-taxonomy): Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
JChan106 committed Oct 24, 2024
1 parent 8d6f332 commit 96be0ee
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ describe('metadataTaxonomyFetcher', () => {
});

describe('metadataNodeTaxonomiesFetcher', () => {
const fileID = '12345';
const scope = 'global';
const taxonomyKey = 'taxonomy_123';
const nodeID = 'node_abc';
Expand All @@ -112,10 +113,16 @@ describe('metadataNodeTaxonomiesFetcher', () => {
});

test('should fetch taxonomy levels and node data and return formatted data', async () => {
const mockTaxonomyLevels = [
{ level: 1, displayName: 'Level 1', description: 'Description 1' },
{ level: 2, displayName: 'Level 2', description: 'Description 2' },
];
const mockTaxonomyLevels = {
displayName: 'Geography',
namespace: 'my_enterprise',
id: 'my_id',
key: 'geography',
levels: [
{ level: 1, displayName: 'Level 1', description: 'Description 1' },
{ level: 2, displayName: 'Level 2', description: 'Description 2' },
],
};

const mockTaxonomyNode = {
id: 'node_abc',
Expand All @@ -127,7 +134,7 @@ describe('metadataNodeTaxonomiesFetcher', () => {
apiMock.getMetadataAPI(false).getMetadataTaxonomyLevels.mockResolvedValue(mockTaxonomyLevels);
apiMock.getMetadataAPI(false).getMetadataTaxonomyNode.mockResolvedValue(mockTaxonomyNode);

const result = await metadataTaxonomyNodeAncestorsFetcher(apiMock, scope, taxonomyKey, nodeID);
const result = await metadataTaxonomyNodeAncestorsFetcher(apiMock, fileID, scope, taxonomyKey, nodeID);

const expectedResult = [
{
Expand All @@ -147,8 +154,13 @@ describe('metadataNodeTaxonomiesFetcher', () => {
];

expect(apiMock.getMetadataAPI).toHaveBeenCalledWith(false);
expect(apiMock.getMetadataAPI(false).getMetadataTaxonomyLevels).toHaveBeenCalledWith(scope, taxonomyKey);
expect(apiMock.getMetadataAPI(false).getMetadataTaxonomyLevels).toHaveBeenCalledWith(
fileID,
scope,
taxonomyKey,
);
expect(apiMock.getMetadataAPI(false).getMetadataTaxonomyNode).toHaveBeenCalledWith(
fileID,
scope,
taxonomyKey,
nodeID,
Expand All @@ -158,7 +170,13 @@ describe('metadataNodeTaxonomiesFetcher', () => {
});

test('should handle empty ancestors array', async () => {
const mockTaxonomyLevels = [{ level: 1, displayName: 'Level 1', description: 'Description 1' }];
const mockTaxonomyLevels = {
displayName: 'Geography',
namespace: 'my_enterprise',
id: 'my_id',
key: 'geography',
levels: [{ level: 1, displayName: 'Level 1', description: 'Description 1' }],
};

const mockTaxonomyNode = {
id: 'node_abc',
Expand All @@ -170,7 +188,7 @@ describe('metadataNodeTaxonomiesFetcher', () => {
apiMock.getMetadataAPI(false).getMetadataTaxonomyLevels.mockResolvedValue(mockTaxonomyLevels);
apiMock.getMetadataAPI(false).getMetadataTaxonomyNode.mockResolvedValue(mockTaxonomyNode);

const result = await metadataTaxonomyNodeAncestorsFetcher(apiMock, scope, taxonomyKey, nodeID);
const result = await metadataTaxonomyNodeAncestorsFetcher(apiMock, fileID, scope, taxonomyKey, nodeID);

const expectedResult = [
{
Expand All @@ -189,7 +207,7 @@ describe('metadataNodeTaxonomiesFetcher', () => {
const error = new Error('API Error');
apiMock.getMetadataAPI(false).getMetadataTaxonomyLevels.mockRejectedValue(error);

await expect(metadataTaxonomyNodeAncestorsFetcher(apiMock, scope, taxonomyKey, nodeID)).rejects.toThrow(
await expect(metadataTaxonomyNodeAncestorsFetcher(apiMock, fileID, scope, taxonomyKey, nodeID)).rejects.toThrow(
'API Error',
);
});
Expand All @@ -198,7 +216,7 @@ describe('metadataNodeTaxonomiesFetcher', () => {
const error = new Error('API Error');
apiMock.getMetadataAPI(false).getMetadataTaxonomyNode.mockRejectedValue(error);

await expect(metadataTaxonomyNodeAncestorsFetcher(apiMock, scope, taxonomyKey, nodeID)).rejects.toThrow(
await expect(metadataTaxonomyNodeAncestorsFetcher(apiMock, fileID, scope, taxonomyKey, nodeID)).rejects.toThrow(
'API Error',
);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,19 @@ export const metadataTaxonomyFetcher = async (

export const metadataTaxonomyNodeAncestorsFetcher = async (
api: API,
fileID: string,
scope: string,
taxonomyKey: string,
nodeID: string,
) => {
const [metadataTaxonomyLevels, metadataTaxonomyNode] = await Promise.all([
api.getMetadataAPI(false).getMetadataTaxonomyLevels(scope, taxonomyKey),
api.getMetadataAPI(false).getMetadataTaxonomyNode(scope, taxonomyKey, nodeID, true),
api.getMetadataAPI(false).getMetadataTaxonomyLevels(fileID, scope, taxonomyKey),
api.getMetadataAPI(false).getMetadataTaxonomyNode(fileID, scope, taxonomyKey, nodeID, true),
]);

if (!metadataTaxonomyLevels?.levels) {
return [];
}
// Create a hashmap of levels to easily hydrate with data from metadataTaxonomyNode
const levelsMap = new Map();
for (const item of metadataTaxonomyLevels.levels) {
Expand Down

0 comments on commit 96be0ee

Please sign in to comment.