exports.config = {
  allScriptsTimeout: 20000,

  suites: {
    account: './e2e/account/**/*.spec.ts',
    admin: './e2e/admin/**/*.spec.ts',
    entities: './e2e/entities/**/*.spec.ts',
    search: './e2e/search/**/*.spec.ts',
  },

  capabilities: {
    browserName: 'chrome',
    chromeOptions: {
      args: process.env.JHI_E2E_HEADLESS
        ? ['--headless', '--disable-gpu', '--window-size=800,600']
        : ['--disable-gpu', '--window-size=800,600'],
    },
  },

  directConnect: true,

  baseUrl: 'http://localhost:9000/',

  framework: 'mocha',

  SELENIUM_PROMISE_MANAGER: false,

  mochaOpts: {
    reporter: 'spec',
    slow: 3000,
    ui: 'bdd',
    timeout: 720000,
  },

  beforeLaunch: function () {
    require('ts-node').register({
      project: 'tsconfig.e2e.json',
    });
  },

  onPrepare: function () {
    browser.driver.manage().window().maximize();
    // Disable animations
    // @ts-ignore
    browser.executeScript('document.body.className += " notransition";');
    const chai = require('chai');
    const chaiAsPromised = require('chai-as-promised');
    chai.use(chaiAsPromised);
    const chaiString = require('chai-string');
    chai.use(chaiString);
    // @ts-ignore
    global.chai = chai;
  },

  useAllAngular2AppRoots: true,
};