From 7fbc68cd1fa65bb129f5b894c9e7976375ae6a80 Mon Sep 17 00:00:00 2001 From: Heo Sangmin Date: Sat, 19 May 2018 16:38:21 +0900 Subject: [PATCH] fix(test): create polyfills-test.ts for karma test & setup Travis CI --- .gitignore | 1 + .travis.yml | 9 +++++++++ angular.json | 9 ++++----- protractor.conf.js => e2e/protractor.conf.js | 2 +- package.json | 8 +++----- karma.conf.js => src/karma.conf.js | 18 ++---------------- src/polyfills-test.ts | 3 +++ src/tsconfig.app.json | 2 +- src/tsconfig.spec.json | 4 +--- 9 files changed, 25 insertions(+), 31 deletions(-) rename protractor.conf.js => e2e/protractor.conf.js (96%) rename karma.conf.js => src/karma.conf.js (70%) create mode 100644 src/polyfills-test.ts diff --git a/.gitignore b/.gitignore index e9ee344ec..6ae091274 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,7 @@ package-lock.json # e2e /e2e/*.js +!/e2e/protractor.conf.js /e2e/*.map # System Files diff --git a/.travis.yml b/.travis.yml index df546e567..af3206b1b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,17 @@ language: node_js node_js: - 8 +sudo: required +addons: + chrome: stable +before_script: + - export DISPLAY=:99.0 + - sh -e /etc/init.d/xvfb start install: - npm set progress=false - npm install script: + - ng lint + - npm run test + - npm run e2e - npm run build diff --git a/angular.json b/angular.json index 63f082d4f..9d8756423 100644 --- a/angular.json +++ b/angular.json @@ -65,9 +65,9 @@ "builder": "@angular-devkit/build-angular:karma", "options": { "main": "src/test.ts", - "karmaConfig": "./karma.conf.js", - "polyfills": "src/polyfills.ts", + "polyfills": "src/polyfills-test.ts", "tsConfig": "src/tsconfig.spec.json", + "karmaConfig": "src/karma.conf.js", "scripts": [], "styles": [ "src/styles.scss" @@ -97,14 +97,13 @@ } }, "angular-electron-e2e": { - "root": "", - "sourceRoot": "", + "root": "e2e", "projectType": "application", "architect": { "e2e": { "builder": "@angular-devkit/build-angular:protractor", "options": { - "protractorConfig": "./protractor.conf.js", + "protractorConfig": "e2e/protractor.conf.js", "devServerTarget": "angular-electron:serve" } }, diff --git a/protractor.conf.js b/e2e/protractor.conf.js similarity index 96% rename from protractor.conf.js rename to e2e/protractor.conf.js index 8e5377175..e46f106b8 100644 --- a/protractor.conf.js +++ b/e2e/protractor.conf.js @@ -7,7 +7,7 @@ exports.config = { allScriptsTimeout: 25000, delayBrowserTimeInSeconds: 0, specs: [ - './e2e/**/*.e2e-spec.ts' + './**/*.e2e-spec.ts' ], capabilities: { 'browserName': 'chrome', diff --git a/package.json b/package.json index efe7450e6..774f77a73 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,7 @@ "electron:windows": "npm run build:prod && npx electron-builder build --windows", "electron:mac": "npm run build:prod && npx electron-builder build --mac", "test": "ng test", - "pree2e:build": "webdriver-manager update --gecko false && npm run ng serve", - "pree2e:protractor": "wait-on http-get://localhost:4200/ && protractor ./protractor.conf.js", - "e2e": "npm-run-all -p -r pree2e:build pree2e:protractor" + "e2e": "ng e2e" }, "dependencies": {}, "devDependencies": { @@ -52,7 +50,7 @@ "@ngx-translate/http-loader": "3.0.1", "@types/jasmine": "2.8.7", "@types/jasminewd2": "2.0.3", - "@types/node": "8.0.58", + "@types/node": "~8.9.4", "codelyzer": "4.2.1", "core-js": "2.5.6", "cross-env": "5.1.5", @@ -68,7 +66,7 @@ "karma-coverage-istanbul-reporter": "2.0.0", "karma-jasmine": "1.1.2", "karma-jasmine-html-reporter": "1.1.0", - "npm-run-all": "4.1.3", + "npm-run-all": "^4.1.3", "npx": "10.2.0", "protractor": "5.3.2", "replace": "0.3.0", diff --git a/karma.conf.js b/src/karma.conf.js similarity index 70% rename from karma.conf.js rename to src/karma.conf.js index 74605c81d..886ca1b0c 100644 --- a/karma.conf.js +++ b/src/karma.conf.js @@ -15,26 +15,12 @@ module.exports = function (config) { client:{ clearContext: false // leave Jasmine Spec Runner output visible in browser }, - files: [ - - ], - preprocessors: { - - }, - mime: { - 'text/x-typescript': ['ts','tsx'] - }, coverageIstanbulReporter: { - dir: require('path').join(__dirname, 'coverage'), + dir: require('path').join(__dirname, '../coverage'), reports: [ 'html', 'lcovonly' ], fixWebpackSourcePaths: true }, - angularCli: { - environment: 'dev' - }, - reporters: config.angularCli && config.angularCli.codeCoverage - ? ['progress', 'coverage-istanbul'] - : ['progress', 'kjhtml'], + reporters: ['progress', 'kjhtml'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/src/polyfills-test.ts b/src/polyfills-test.ts new file mode 100644 index 000000000..332646f5b --- /dev/null +++ b/src/polyfills-test.ts @@ -0,0 +1,3 @@ +import 'core-js/es7/reflect'; +import 'zone.js/dist/zone'; + diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json index d826715b9..c4929a672 100644 --- a/src/tsconfig.app.json +++ b/src/tsconfig.app.json @@ -7,7 +7,7 @@ "types": [] }, "exclude": [ - "test.ts", + "src/test.ts", "**/*.spec.ts", "dist", "app-builds", diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json index d3092415f..88a02f220 100644 --- a/src/tsconfig.spec.json +++ b/src/tsconfig.spec.json @@ -3,8 +3,6 @@ "compilerOptions": { "outDir": "../out-tsc/spec", "module": "commonjs", - "target": "es5", - "baseUrl": "", "types": [ "jasmine", "node" @@ -12,7 +10,7 @@ }, "files": [ "test.ts", - "polyfills.ts" + "polyfills-test.ts" ], "include": [ "**/*.spec.ts",