includes.forEach(include => { // Create default `asArray` property if (!Object.prototype.hasOwnProperty.call(include, 'asArray')) { include.asArray = true } // Create default `params` property if (!Object.prototype.hasOwnProperty.call(include, 'params')) { include.params = {} } try { assert.deepStrictEqual(requiredIncludeAttrs.sort(), Object.keys(include).sort()) } catch (error) { throw new Error('shallowPopulate hook: Every `include` must contain `service`, `nameAs`, `keyHere`, and `keyThere` properties') } })
.then(response => { const { result } = response assert.deepStrictEqual(result.data, context.result.data, 'data should not be touched') done() })
assert.deepStrictEqual(updatedPayload, card.payload) } catch (e) { console.log(card.payload.meta.firstName, card.payload.meta.lastName)
.then(response => { const { data } = response assert.deepStrictEqual(data, context.data, 'data should not be touched') done() })
it('does nothing if we have no data', function (done) { const options = { include: { // from: 'users', service: 'posts', nameAs: 'posts', keyHere: 'postsId', keyThere: 'id' } } const context = { method: 'create', type: 'after', params: {}, result: { data: [] } } const shallowPopulate = makePopulate(options) shallowPopulate(context) .then(response => { const { result } = response assert.deepStrictEqual(result.data, context.result.data, 'data should not be touched') done() }) .catch(done) })
assert.deepStrictEqual(updatedPayload, card.payload) } catch (e) { console.log(card.payload.meta.firstName, card.payload.meta.lastName)