2018-01-26 19:04:37 -05:00
|
|
|
module.exports = function(config) {
|
2018-01-27 12:54:33 -05:00
|
|
|
|
|
|
|
var customLaunchers = {
|
|
|
|
sl_ie_9: {
|
|
|
|
base: "SauceLabs",
|
|
|
|
browserName: "internet explorer",
|
|
|
|
platform: "Windows 7",
|
|
|
|
version: "9"
|
|
|
|
},
|
|
|
|
sl_safari_7: {
|
|
|
|
base: "SauceLabs",
|
|
|
|
browserName: "safari",
|
|
|
|
platform: "OS X 10.9",
|
|
|
|
version: "7.0"
|
|
|
|
},
|
|
|
|
sl_ios_safari: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'iphone',
|
|
|
|
platform: 'OS X 10.9',
|
|
|
|
version: '8.1'
|
|
|
|
},
|
|
|
|
sl_android: {
|
|
|
|
base: "SauceLabs",
|
|
|
|
browserName: 'Browser',
|
|
|
|
patform: 'Android',
|
|
|
|
version: '4.4',
|
|
|
|
deviceName: 'Android Emulator',
|
|
|
|
deviceOrientation: 'portrait'
|
|
|
|
},
|
|
|
|
sl_chrome_41: {
|
|
|
|
base: "SauceLabs",
|
|
|
|
browserName: 'chrome',
|
|
|
|
platform: 'Linux',
|
|
|
|
version: '41.0'
|
|
|
|
},
|
|
|
|
sl_firefox_8: {
|
|
|
|
base: "SauceLabs",
|
|
|
|
browserName: 'firefox',
|
|
|
|
platform: 'Linux',
|
|
|
|
version: '8.0'
|
|
|
|
},
|
|
|
|
sl_edge_13: {
|
|
|
|
base: "SauceLabs",
|
|
|
|
browserName: 'MicrosoftEdge',
|
|
|
|
platform: 'Windows 10',
|
|
|
|
version: '13.10586'
|
|
|
|
},
|
|
|
|
ChromeHeadlessTravis: {
|
|
|
|
base: "ChromeHeadless",
|
|
|
|
flags: ['--no-sandbox']
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2018-01-26 19:04:37 -05:00
|
|
|
var configuration = {
|
|
|
|
frameworks: ["jasmine"],
|
|
|
|
files: [
|
|
|
|
{pattern: './ci/spec-bundle.js', watched: false}
|
|
|
|
],
|
|
|
|
preprocessors: {
|
|
|
|
'./ci/spec-bundle.js': ['webpack', 'sourcemap'],
|
|
|
|
},
|
|
|
|
webpackMiddleware: {
|
|
|
|
scripts: 'errors-only'
|
|
|
|
},
|
|
|
|
webpack: {
|
|
|
|
devtool: "inline-source-map",
|
|
|
|
resolve: {
|
|
|
|
extensions: ['.ts', '.js'],
|
|
|
|
},
|
|
|
|
module: {
|
|
|
|
rules: [
|
|
|
|
{
|
|
|
|
test: /\.ts$/,
|
|
|
|
exclude: /node_modules/,
|
|
|
|
use: [{loader: 'ts-loader', options: {transpileOnly: true}}]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mime: {
|
|
|
|
'text/x-typescript': ['ts', 'tsx']
|
|
|
|
},
|
2018-01-27 12:54:33 -05:00
|
|
|
sauceLabs: {
|
|
|
|
testName: "Bios-pw Unit tests",
|
|
|
|
retryLimit: 2,
|
|
|
|
recordVideo: false,
|
|
|
|
recordScreenshots: false
|
2018-01-26 19:04:37 -05:00
|
|
|
},
|
2018-01-27 12:54:33 -05:00
|
|
|
reporters: ["progress", "saucelabs"],
|
|
|
|
browsers: ["ChromeHeadless", "FirefoxHeadless"],
|
|
|
|
customLaunchers: customLaunchers,
|
|
|
|
singleRun: true,
|
|
|
|
concurrency: 2,
|
2018-01-26 19:04:37 -05:00
|
|
|
plugins: [
|
|
|
|
'karma-jasmine',
|
|
|
|
'karma-chrome-launcher',
|
|
|
|
'karma-firefox-launcher',
|
2018-01-27 12:54:33 -05:00
|
|
|
'karma-sauce-launcher',
|
2018-01-26 19:04:37 -05:00
|
|
|
'karma-webpack',
|
|
|
|
'karma-sourcemap-loader'
|
|
|
|
]
|
|
|
|
};
|
|
|
|
|
|
|
|
if (process.env.TRAVIS) {
|
|
|
|
configuration.browsers = ['ChromeHeadlessTravis', 'FirefoxHeadless'];
|
|
|
|
}
|
|
|
|
|
2018-01-27 12:54:33 -05:00
|
|
|
if (process.env.SAUCE) {
|
|
|
|
var currentBrowsers = configuration.browsers;
|
|
|
|
var sauceBrowsers = Object.keys(customLaunchers).filter((s) => s.startsWith('sl_'));
|
|
|
|
configuration.browsers = currentBrowsers.concat(sauceBrowsers);
|
|
|
|
|
|
|
|
if (process.env.TRAVIS) {
|
|
|
|
var buildNumber = process.env.TRAVIS_BUILD_NUMBER;
|
|
|
|
var travisBuildId = process.env.TRAVIS_BUILD_ID;
|
|
|
|
var buildId = `TRAVIS ${buildNumber} (${travisBuildId})`;
|
|
|
|
configuration.sauceLabs.build = buildId;
|
|
|
|
configuration.sauceLabs.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-26 19:04:37 -05:00
|
|
|
config.set(configuration);
|
|
|
|
}
|