UNPKG

@shko.online/componentframework-mock

Version:

Mocking library to help with testing PowerApps Component Framework Components

31 lines (28 loc) 1.14 kB
/* Copyright (c) 2022 Betim Beja and Shko Online LLC Licensed under the MIT license. */ import type { MockGenerator } from './MockGenerator'; import type { ShkoOnline } from '../ShkoOnline'; export const mockGetEntityMetadata = < TInputs extends ShkoOnline.PropertyTypes<TInputs>, TOutputs extends ShkoOnline.KnownTypes<TOutputs>, >( mockGenerator: MockGenerator<TInputs, TOutputs>, ) => { mockGenerator.context.utils.getEntityMetadata.callsFake((entityName: string, attributes?: string[]) => { return new Promise<ShkoOnline.EntityMetadata>((resolve, reject) => { const result = mockGenerator.metadata.getTableMetadata(entityName); if (!result) { reject(`Could not find entity metadata for '${entityName}'`); return; } if (attributes) { result.Attributes = result.Attributes?.filter((attribute) => attributes.some((attributeFilter) => attribute.LogicalName === attributeFilter), ); } resolve(result as ShkoOnline.EntityMetadata); }); }); };