// Karma configuration for running the UJS tests const config = { browsers: ["ChromeHeadless"], frameworks: ["qunit"], files: [ "test/ujs/compiled/test.js", ], client: { clearContext: false, qunit: { showUI: true } }, singleRun: true, autoWatch: false, captureTimeout: 180000, browserDisconnectTimeout: 180000, browserDisconnectTolerance: 3, browserNoActivityTimeout: 300000, proxies: { '/echo': 'http://localhost:4567/echo', '/error': 'http://localhost:4567/error' } } if (process.env.CI) { config.customLaunchers = { sl_chrome: sauce("chrome", "latest", "Windows 10") } config.browsers = Object.keys(config.customLaunchers) config.reporters = ["dots", "saucelabs"] config.sauceLabs = { testName: "Rails UJS", retryLimit: 3, build: buildId(), } function sauce(browserName, version, platform) { const options = { base: "SauceLabs", browserName: browserName.toString(), version: version.toString(), } if (platform) { options.platform = platform.toString() } return options } function buildId() { const { BUILDKITE_JOB_ID } = process.env return BUILDKITE_JOB_ID ? `Buildkite ${BUILDKITE_JOB_ID}` : "" } } module.exports = function(karmaConfig) { karmaConfig.set(config) }