datahub/datahub-web/@datahub/utils/addon/test-helpers/serialize-mirage-model.ts
Charlie Tran 843a6c5bbb
feat(frontend): update datahub-web client UI code (#1806)
* Releases updated version of datahub-web client UI code

* Fix typo in yarn lock

* Change yarn lock to match yarn registry directories

* Previous commit missed some paths

* Even more changes to yarnlock missing in previous commit

* Include codegen file for typings

* Add files to get parity for datahub-web and current OS datahub-midtier

* Add in typo fix from previous commit - change to proper license

* Implement proper OS fix for person entity picture url

* Workarounds for open source DH issues

* Fixes institutional memory api and removes unopensourced tabs for datasets

* Fixes search dataset deprecation and user search issue as a result of changes

* Remove internal only options in the avatar menu
2020-08-26 15:44:50 -07:00

21 lines
930 B
TypeScript

import { Server } from 'ember-cli-mirage';
import { IMirageSchemaRegistry } from 'ember-cli-mirage/types/registries/schema';
/**
* Serializes the Mirage Schema models from the instance of the supplied Mirage Server
* Useful in Ember Rendering or Unit tests that need to extract a value from the Mirage DB without making
* a request to a Mirage endpoint
* @template M
* @param {M} modelName the name of the Mirage Model to serialize instances
* @param {Server} server reference to the Mirage server instance, typically this.server in a MirageTestContext
*/
export const getSerializedMirageModel = <K extends keyof IMirageSchemaRegistry>(
modelName: K,
server: Server
): Array<IMirageSchemaRegistry[K]> => {
const serializer = server.serializerOrRegistry.serializerFor(modelName);
const models = server.schema[modelName as string].all();
return serializer.serialize(models) as Array<IMirageSchemaRegistry[K]>;
};