chooseTestSuite = (cfg, value) => {
  switch (value) {
    case 'bdd':
    case 'tdd':
    case 'qunit':
      return addStandardDependencies({
        ...cfg,
        ...addSauceLabsTestName(`Interface "${value}" Integration Tests`, cfg),
        files: [`test/interfaces/${value}.spec.js`],
        client: {
          ...cfg.client,
          mocha: {
            ...cfg.client.mocha,
            ui: value
          }
        }
      });
    case 'esm':
      return addStandardDependencies({
        ...addSauceLabsTestName('ESM Integration Tests', cfg),
        files: [
          {
            pattern: 'test/browser-specific/fixtures/esm.fixture.mjs',
            type: 'module'
          },
          {
            pattern: 'test/browser-specific/esm.spec.mjs',
            type: 'module'
          }
        ]
      });
    default:
      return addStandardDependencies({
        ...addSauceLabsTestName('Unit Tests', cfg)
      });
  }
}
Returns a new Karma config to run with specific configuration (which cannot
be run with other configurations) as specified by `value`. Known values:

- `bdd` - `bdd`-specific tests
- `tdd` - `tdd`-specific tests
- `qunit` - `qunit`-specific tests
- `esm` - ESM-specific tests

Since we can't change Mocha's interface on-the-fly, tests for specific interfaces
must be run in isolation.
@param {object} cfg - Karma config
@param {string} [value] - Configuration identifier, if any
@returns {object} New Karma config