function validatePromiseChain(testBody) {
  return new Promise((promiseChainComplete) => {
    testBody(promiseChainComplete);
  });
}
Runs the test, passing it a function to call when its promise chain is
complete, and all test assertions are complete.
@param {function(function():undefined):undefined} testBody
@return {!Promise}