funkensturm / ember-local-storage

The addon provides a storageFor computed property that returns a proxy and persists the changes to localStorage or sessionStorage. It ships with an ember-data adapter.
https://www.funkensturm.com/ember-local-storage/
MIT License
217 stars 76 forks source link

Most test fails when updating from 2.0.6 to 2.0.7 #379

Open hexadecy opened 7 months ago

hexadecy commented 7 months ago

Error: Assertion Failed: Cannot create a new tag for <(unknown):ember922> after it has been destroyed.

test:

import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import StorageObject from 'ember-local-storage/local/object';
import { _resetStorages } from 'ember-local-storage/helpers/storage';

module('Unit | Services | UserOptionsDestroyer', function (hooks) {
  setupTest(hooks);

  module('upon a successful user options object destruction', function (hooks) {
    hooks.beforeEach(function () {
      const mockStorage = StorageObject.extend();

      mockStorage.reopenClass({
        initialState() {
          return {
            userId: '1',
          };
        },
      });

      this.owner.register('storage:userOptions', mockStorage);
    });

    hooks.afterEach(function () {
      window.localStorage.clear();
      _resetStorages();
    });

    test('should return a positive response', async function (assert) {
      assert.expect(1);

      const service = this.owner.lookup('service:destroyers/user-options-destroyer');

      const response = await service.destroyOptions();

      const expectedServiceResponse = { success: true, result: null };

      assert.deepEqual(response, expectedServiceResponse);
    });
  });
});

Related to https://github.com/funkensturm/ember-local-storage/pull/377

fsmanuel commented 7 months ago

@hexadecy thanks for reporting. I'll try to add tests to cover that and to figure out what is going wrong.

RobbieTheWagner commented 5 months ago

I'm hitting the same issue.