diff --git a/packages/ember-data/lib/system/store.js b/packages/ember-data/lib/system/store.js index d9a336853a7..fb985b06507 100644 --- a/packages/ember-data/lib/system/store.js +++ b/packages/ember-data/lib/system/store.js @@ -1073,6 +1073,7 @@ Store = Service.extend({ } typeMap.findAllCache = null; + typeMap.metadata = Ember.create(null); }, /** diff --git a/packages/ember-data/tests/integration/records/unload-test.js b/packages/ember-data/tests/integration/records/unload-test.js index 25a3fa078d8..75f609ca054 100644 --- a/packages/ember-data/tests/integration/records/unload-test.js +++ b/packages/ember-data/tests/integration/records/unload-test.js @@ -68,6 +68,24 @@ test("can unload all records for a given type", function () { equal(env.store.all('person').get('length'), 0); }); +test("Unloading all records for a given type clears saved meta data.", function () { + + function metadataKeys(type) { + return Ember.keys(env.store.metadataFor(type)); + } + + run(function() { + env.store.setMetadataFor('person', { count: 10 }); + }); + + Ember.run(function() { + env.store.unloadAll('person'); + }); + + deepEqual(metadataKeys('person'), [], 'Metadata for person is empty'); + +}); + test("removes findAllCache after unloading all records", function () { var adam, bob; run(function() {