Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexdiliberto/7ed790e832ac394e0d624f2ca9795b12 to your computer and use it in GitHub Desktop.
Save alexdiliberto/7ed790e832ac394e0d624f2ca9795b12 to your computer and use it in GitHub Desktop.
// tests/helpers/push-mirage-db-into-store.js
import { registerAsyncHelper } from '@ember/test';
import { run } from '@ember/runloop';
let pushMirageDbIntoStore = function(server, store) {
let tables = Object.keys(server.schema);
tables.forEach(table => {
if (server.schema[table].all) {
let all = server.schema[table].all();
let modelName = all.modelName;
let serializer = server.serializerOrRegistry
.serializerFor(modelName);
let originalAlwaysIncludeLinkageData = serializer.alwaysIncludeLinkageData;
serializer.alwaysIncludeLinkageData = true;
let json = serializer.serialize(all);
serializer.alwaysIncludeLinkageData = originalAlwaysIncludeLinkageData;
run(() => {
store.pushPayload(json);
});
}
});
}
export { pushMirageDbIntoStore };
export default registerAsyncHelper('pushMirageDbIntoStore', function(app) {
let store = app.__container__.lookup('service:store');
return pushMirageDbIntoStore(server, store);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment