Skip to content

Commit

Permalink
Refactors karma tests to use webpack and proper ts.config files, swit…
Browse files Browse the repository at this point in the history
…ched to Chrome for test runner and fixes typescript compilation issues
  • Loading branch information
Enngage committed Jan 14, 2019
1 parent 132f315 commit e40f46c
Show file tree
Hide file tree
Showing 37 changed files with 18,065 additions and 17,665 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Expand Up @@ -2,6 +2,8 @@ dist: trusty
language: node_js
node_js:
- "stable"
addons:
chrome: stable
before_script:
# ------ Global setup ---------#
- npm i -g lerna
Expand Down
2 changes: 1 addition & 1 deletion packages/content-management/demo/cm-unpkg.html
Expand Up @@ -11,7 +11,7 @@
<script type="text/javascript">
var client = new ContentManagementClient({
projectId: 'fb11eb58-5b77-01b1-2343-a1b57cccc4e1',
apiKey: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI5MTUwZTM5ZWEzZTQ0ZDE4YTg4MjY2YTg4N2ZjMjAyNCIsImlhdCI6IjE1NDEwNTYzMDAiLCJleHAiOiIxNTQ4ODMyMzAwIiwicHJvamVjdF9pZCI6ImZiMTFlYjU4NWI3NzAxYjEyMzQzYTFiNTdjY2NjNGUxIiwidmVyIjoiMi4xLjAiLCJ1aWQiOiJ1c3JfMHZRWUJDcUF2cm5vNXJpZkhuaVlFRyIsImF1ZCI6Im1hbmFnZS5rZW50aWNvY2xvdWQuY29tIn0.hrxsrhPfMwZ2gLENdXH5T2D0G732H_z_3xRLP_d9mSY'
apiKey: ''
});

client.addContentItem()
Expand Down
54 changes: 0 additions & 54 deletions packages/content-management/karma-dev.conf.js

This file was deleted.

45 changes: 27 additions & 18 deletions packages/content-management/karma-travis.conf.js
@@ -1,10 +1,12 @@
const path = require('path');

module.exports = function (config) {
config.set({
frameworks: ["jasmine", "karma-typescript"],
frameworks: ["jasmine"],
plugins: [
require("karma-jasmine"),
require("karma-typescript"),
require('karma-firefox-launcher'),
require("karma-webpack"),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
],
Expand All @@ -15,23 +17,31 @@ module.exports = function (config) {
exclude: [
],
preprocessors: {
"lib/**/*.ts": ["karma-typescript", "coverage"],
"test-browser/**/*.ts": ["karma-typescript"]
"lib/**/*.ts": ["webpack", "coverage"],
"test-browser/**/*.ts": ["webpack"]
},
reporters: ["kjhtml", "progress", "coverage"],
browsers: ["Firefox"],
karmaTypescriptConfig: {
bundlerOptions: {
transforms: [require("karma-typescript-es6-transform")()]
browsers: ["Chrome"],
webpack: {
resolve: {
extensions: ['.ts', '.js', '.json'],
},
compilerOptions: {
"module": "commonjs",
"target": "es6", // use es6 only for karma compiler (using es6 will help increase coverage because less junk code required for es5 is needed)
"lib": ["es2015", "es2017", "dom"],
"exclude": [
"node_modules"
],
"resolveJsonModule": true,
mode: 'development',
devtool: 'source-map',
module: {
rules: [
{
test: /\.ts$/,
loader: 'ts-loader',
include: [
path.resolve(__dirname, 'lib'), // lib
path.resolve(__dirname, 'test-browser'), // tests
],
options: {
configFile: require.resolve('./tsconfig.webpack.json')
}
},
]
},
},
coverageReporter: {
Expand All @@ -44,7 +54,6 @@ module.exports = function (config) {
port: 9669,
colors: true,
autoWatch: false,
browsers: ["Firefox"],
singleRun: true,
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
Expand Down
45 changes: 27 additions & 18 deletions packages/content-management/karma.conf.js
@@ -1,10 +1,12 @@
const path = require('path');

module.exports = function (config) {
config.set({
frameworks: ["jasmine", "karma-typescript"],
frameworks: ["jasmine"],
plugins: [
require("karma-jasmine"),
require("karma-typescript"),
require('karma-firefox-launcher'),
require("karma-webpack"),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
],
Expand All @@ -15,23 +17,31 @@ module.exports = function (config) {
exclude: [
],
preprocessors: {
"lib/**/*.ts": ["karma-typescript", "coverage"],
"test-browser/**/*.ts": ["karma-typescript"]
"lib/**/*.ts": ["webpack", "coverage"],
"test-browser/**/*.ts": ["webpack"]
},
reporters: ["kjhtml", "progress", "coverage"],
browsers: ["Firefox"],
karmaTypescriptConfig: {
bundlerOptions: {
transforms: [require("karma-typescript-es6-transform")()]
browsers: ["Chrome"],
webpack: {
resolve: {
extensions: ['.ts', '.js', '.json'],
},
compilerOptions: {
"module": "commonjs",
"target": "es6", // use es6 only for karma compiler (using es6 will help increase coverage because less junk code required for es5 is needed)
"lib": ["es2015", "es2017", "dom"],
"exclude": [
"node_modules"
],
"resolveJsonModule": true,
mode: 'development',
devtool: 'source-map',
module: {
rules: [
{
test: /\.ts$/,
loader: 'ts-loader',
include: [
path.resolve(__dirname, 'lib'), // lib
path.resolve(__dirname, 'test-browser'), // tests
],
options: {
configFile: require.resolve('./tsconfig.webpack.json')
}
},
]
},
},
coverageReporter: {
Expand All @@ -44,7 +54,6 @@ module.exports = function (config) {
port: 9669,
colors: true,
autoWatch: true,
browsers: ["Firefox"],
singleRun: false,
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
Expand Down

0 comments on commit e40f46c

Please sign in to comment.