composite.js 873 B

12345678910111213141516171819202122232425262728293031323334
  1. import {compositeFrom} from '#composite';
  2. export function quickCheckCompositeOutputs(t, dependencies) {
  3. return (step, outputDict) => {
  4. t.same(
  5. Object.keys(step.toDescription().outputs),
  6. Object.keys(outputDict));
  7. const composite = compositeFrom({
  8. compose: false,
  9. steps: [
  10. step,
  11. {
  12. dependencies: Object.keys(outputDict),
  13. // Access all dependencies by their expected keys -
  14. // the composition runner actually provides a proxy
  15. // and is checking that *we* access the dependencies
  16. // we've specified.
  17. compute: dependencies =>
  18. Object.fromEntries(
  19. Object.keys(outputDict)
  20. .map(key => [key, dependencies[key]])),
  21. },
  22. ],
  23. });
  24. t.same(
  25. composite.expose.compute(dependencies),
  26. outputDict);
  27. };
  28. }