@data-client/test
Version:
Testing utilities for Data Client
23 lines (22 loc) • 3.24 kB
JavaScript
export function createFixtureMap(fixtures = []) {
const map = new Map();
const computed = [];
for (const fixture of fixtures) {
if ('args' in fixture) {
if (typeof fixture.response !== 'function') {
const key = fixture.endpoint.key(...fixture.args);
map.set(key, fixture);
} else {
// this has to be a typo. probably needs to remove args
console.warn(`Fixture found with function response, and explicit args. Interceptors should not specify args.
${fixture.endpoint.name}: ${JSON.stringify(fixture.args)}
Treating as Interceptor`);
computed.push(fixture);
}
} else {
computed.push(fixture);
}
}
return [map, computed];
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVGaXh0dXJlTWFwIiwiZml4dHVyZXMiLCJtYXAiLCJNYXAiLCJjb21wdXRlZCIsImZpeHR1cmUiLCJyZXNwb25zZSIsImtleSIsImVuZHBvaW50IiwiYXJncyIsInNldCIsImNvbnNvbGUiLCJ3YXJuIiwibmFtZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJwdXNoIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NyZWF0ZUZpeHR1cmVNYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRml4dHVyZSwgSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ZpeHR1cmVUeXBlcy5qcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGaXh0dXJlTWFwKGZpeHR1cmVzOiAoRml4dHVyZSB8IEludGVyY2VwdG9yKVtdID0gW10pIHtcbiAgY29uc3QgbWFwOiBNYXA8c3RyaW5nLCBGaXh0dXJlPiA9IG5ldyBNYXAoKTtcbiAgY29uc3QgY29tcHV0ZWQ6IEludGVyY2VwdG9yW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaXh0dXJlIG9mIGZpeHR1cmVzKSB7XG4gICAgaWYgKCdhcmdzJyBpbiBmaXh0dXJlKSB7XG4gICAgICBpZiAodHlwZW9mIGZpeHR1cmUucmVzcG9uc2UgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gZml4dHVyZS5lbmRwb2ludC5rZXkoLi4uZml4dHVyZS5hcmdzKTtcbiAgICAgICAgbWFwLnNldChrZXksIGZpeHR1cmUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdGhpcyBoYXMgdG8gYmUgYSB0eXBvLiBwcm9iYWJseSBuZWVkcyB0byByZW1vdmUgYXJnc1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYEZpeHR1cmUgZm91bmQgd2l0aCBmdW5jdGlvbiByZXNwb25zZSwgYW5kIGV4cGxpY2l0IGFyZ3MuIEludGVyY2VwdG9ycyBzaG91bGQgbm90IHNwZWNpZnkgYXJncy5cbiR7Zml4dHVyZS5lbmRwb2ludC5uYW1lfTogJHtKU09OLnN0cmluZ2lmeShmaXh0dXJlLmFyZ3MpfVxuXG5UcmVhdGluZyBhcyBJbnRlcmNlcHRvcmAsXG4gICAgICAgICk7XG4gICAgICAgIGNvbXB1dGVkLnB1c2goZml4dHVyZSBhcyBhbnkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb21wdXRlZC5wdXNoKGZpeHR1cmUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gW21hcCwgY29tcHV0ZWRdIGFzIGNvbnN0O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLFNBQVNBLGdCQUFnQkEsQ0FBQ0MsUUFBbUMsR0FBRyxFQUFFLEVBQUU7RUFDekUsTUFBTUMsR0FBeUIsR0FBRyxJQUFJQyxHQUFHLENBQUMsQ0FBQztFQUMzQyxNQUFNQyxRQUF1QixHQUFHLEVBQUU7RUFDbEMsS0FBSyxNQUFNQyxPQUFPLElBQUlKLFFBQVEsRUFBRTtJQUM5QixJQUFJLE1BQU0sSUFBSUksT0FBTyxFQUFFO01BQ3JCLElBQUksT0FBT0EsT0FBTyxDQUFDQyxRQUFRLEtBQUssVUFBVSxFQUFFO1FBQzFDLE1BQU1DLEdBQUcsR0FBR0YsT0FBTyxDQUFDRyxRQUFRLENBQUNELEdBQUcsQ0FBQyxHQUFHRixPQUFPLENBQUNJLElBQUksQ0FBQztRQUNqRFAsR0FBRyxDQUFDUSxHQUFHLENBQUNILEdBQUcsRUFBRUYsT0FBTyxDQUFDO01BQ3ZCLENBQUMsTUFBTTtRQUNMO1FBQ0FNLE9BQU8sQ0FBQ0MsSUFBSSxDQUNWO0FBQ1YsRUFBRVAsT0FBTyxDQUFDRyxRQUFRLENBQUNLLElBQUksS0FBS0MsSUFBSSxDQUFDQyxTQUFTLENBQUNWLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDO0FBQ3hEO0FBQ0Esd0JBQ1EsQ0FBQztRQUNETCxRQUFRLENBQUNZLElBQUksQ0FBQ1gsT0FBYyxDQUFDO01BQy9CO0lBQ0YsQ0FBQyxNQUFNO01BQ0xELFFBQVEsQ0FBQ1ksSUFBSSxDQUFDWCxPQUFPLENBQUM7SUFDeEI7RUFDRjtFQUNBLE9BQU8sQ0FBQ0gsR0FBRyxFQUFFRSxRQUFRLENBQUM7QUFDeEIiLCJpZ25vcmVMaXN0IjpbXX0=