/* Copyright (c) 2019 AT&T Intellectual Property. # | |
# # | |
# Licensed under the Apache License, Version 2.0 (the "License"); # | |
# you may not use this file except in compliance with the License. # | |
# You may obtain a copy of the License at # | |
# # | |
# http://www.apache.org/licenses/LICENSE-2.0 # | |
# # | |
# Unless required by applicable law or agreed to in writing, software # | |
# distributed under the License is distributed on an "AS IS" BASIS, # | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # | |
# See the License for the specific language governing permissions and # | |
# limitations under the License. # | |
##############################################################################*/ | |
// Karma configuration file, see link for more information | |
// https://karma-runner.github.io/1.0/config/configuration-file.html | |
module.exports = function (config) { | |
const defaults = { | |
basePath: '', | |
frameworks: ['jasmine', '@angular-devkit/build-angular'], | |
plugins: [ | |
require('karma-jasmine'), | |
require('karma-chrome-launcher'), | |
require('karma-jasmine-html-reporter'), | |
require('karma-coverage-istanbul-reporter'), | |
require('@angular-devkit/build-angular/plugins/karma') | |
], | |
client:{ | |
clearContext: false // leave Jasmine Spec Runner output visible in browser | |
}, | |
coverageIstanbulReporter: { | |
dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ], | |
fixWebpackSourcePaths: true | |
}, | |
angularCli: { | |
environment: 'dev' | |
}, | |
reporters: ['progress', 'kjhtml'], | |
port: 9876, | |
colors: true, | |
logLevel: config.LOG_INFO, | |
autoWatch: true, | |
browsers: ['Chrome'], | |
singleRun: false, | |
} | |
if (process.env.TEST_CI) { | |
Object.assign(defaults, { | |
autoWatch: false, | |
browsers: ['ChromeHeadlessNoSandbox'], | |
singleRun: true, | |
customLaunchers: { | |
ChromeHeadlessNoSandbox: { | |
base: 'ChromeHeadless', | |
flags: ['--no-sandbox'] | |
} | |
}, | |
browserNoActivityTimeout: 60000, | |
}) | |
} | |
config.set(defaults) | |
}; |