Example #1
0
  beforeEach(() => {
    mock_reset();
    mock_get('/users', dataCollectionUsers);

    schema = createSchema();
    schema.addLeaf(createSchemaCollection('users'));
  });
Example #2
0
      beforeEach(() => {
        mock_reset();

        schema = createSchema();
        schema.addLeaf(createSchemaCollection('users'));

        spy_defaultHandler = spy(processResponse, 'defaultHandler');
      });
Example #3
0
      beforeEach(() => {
        mutableUsers = new MutableResource(schema.users);
        store = expectedDescriptor.store = schema.__node.definition.storeMap.getOrCreate('user');

        spyMutableUsers_generateDescriptor = spy(mutableUsers, '_generateDescriptor');
        spyStore_touchResource = spy(store, 'touchResource');
        spyStore_updateResource = spy(store, 'updateResource');
        spyStore_destroyResource = spy(store, 'destroyResource');

        mock_reset();
        mock_put('/users', responseData);
      });
Example #4
0
  beforeEach(() => {
    mock_reset();

    adapter = new XHRAdapter();
    schema = createSchema({ adapter });
    schema.addLeaf(createSchemaCollection('users'));
    schema.addLeaf(createSchemaResource('rules'));

    storeUsers = schema.__node.definition.storeMap.getOrCreate('user');
    spyUsers_touchResource = spy(storeUsers, 'touchResource');
    spyUsers_updateResource = spy(storeUsers, 'updateResource');

    storeRules = schema.__node.definition.storeMap.getOrCreate('rule');
    spyRules_touchResource = spy(storeRules, 'touchResource');
    spyRules_updateResource = spy(storeRules, 'updateResource');
  });
Example #5
0
    it('should handle loading a failed request', () => {
      mock_reset();
      mock_get('/users', { error: 'foobar' }, 500);

      const onLoad = spy();
      const onChange = spy();
      const store = schema.__node.definition.storeMap.getOrCreate('user');
      spy(store, 'once');

      const resource = new Resource(schema.users);

      resource.on('load', onLoad);
      resource.on('change', onChange);
      expect(store.once.callCount).to.equal(0);
      expect(mock_request_count()).to.equal(0);
      expect(onLoad.callCount).to.equal(0);
      expect(onChange.callCount).to.equal(0);

      return delay_for_resource_request(resource)()
        .then(() => {
          expect(mock_request_count()).to.equal(1);
          expect(onLoad.callCount).to.equal(0);
          expect(onChange.callCount).to.equal(1);
          expect(resource.data).to.equal(null);
          expect(resource.status).to.equal(IStatus.stale);
          expect(resource.timestamp).to.be.greaterThan(ITimestamp.loading);
          expect(store.once.callCount).to.equal(0);

          const descriptor = new ResourceDescriptor(null, IActionType.get, schema.users.__stack);
          store.updateResource(descriptor, dataCollectionUsersUpdate, IStatus.complete);

          expect(onLoad.callCount).to.equal(1);
          expect(onChange.callCount).to.equal(2);
          expect(resource.data).to.deep.equal(dataCollectionUsersUpdate);
          expect(resource.status).to.equal(IStatus.complete);
          expect(resource.timestamp).to.be.greaterThan(ITimestamp.loading);
        });
    });