Add basic ng test structure
							parent
							
								
									3637f3a47a
								
							
						
					
					
						commit
						c250cd2edd
					
				| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					// Karma configuration file, see link for more information
 | 
				
			||||||
 | 
					// https://karma-runner.github.io/0.13/config/configuration-file.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = function (config) {
 | 
				
			||||||
 | 
					  config.set({
 | 
				
			||||||
 | 
					    basePath: '',
 | 
				
			||||||
 | 
					    frameworks: ['jasmine', '@angular/cli'],
 | 
				
			||||||
 | 
					    plugins: [
 | 
				
			||||||
 | 
					      require('karma-jasmine'),
 | 
				
			||||||
 | 
					      require('karma-chrome-launcher'),
 | 
				
			||||||
 | 
					      require('karma-remap-istanbul'),
 | 
				
			||||||
 | 
					      require('karma-spec-reporter'),
 | 
				
			||||||
 | 
					      require('@angular/cli/plugins/karma')
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    files: [
 | 
				
			||||||
 | 
					      { pattern: './src/test.ts', watched: false }
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    preprocessors: {
 | 
				
			||||||
 | 
					      './src/test.ts': ['@angular/cli']
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    mime: {
 | 
				
			||||||
 | 
					      'text/x-typescript': ['ts','tsx']
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    remapIstanbulReporter: {
 | 
				
			||||||
 | 
					      reports: {
 | 
				
			||||||
 | 
					        html: 'coverage',
 | 
				
			||||||
 | 
					        lcovonly: './coverage/coverage.lcov'
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    angularCli: {
 | 
				
			||||||
 | 
					      config: './.angular-cli.json',
 | 
				
			||||||
 | 
					      environment: 'dev'
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    reporters: config.angularCli && config.angularCli.codeCoverage
 | 
				
			||||||
 | 
					              ? ['spec', 'karma-remap-istanbul']
 | 
				
			||||||
 | 
					              : ['spec'],
 | 
				
			||||||
 | 
					    port: 9876,
 | 
				
			||||||
 | 
					    colors: true,
 | 
				
			||||||
 | 
					    logLevel: config.LOG_INFO,
 | 
				
			||||||
 | 
					    autoWatch: true,
 | 
				
			||||||
 | 
					    browsers: ['Chrome'],
 | 
				
			||||||
 | 
					    singleRun: false
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,9 @@
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "@angular/common": "^4.1.1",
 | 
					    "@angular/common": "^4.1.1",
 | 
				
			||||||
 | 
					    "@angular/cli": "1.0.2",
 | 
				
			||||||
    "@angular/compiler": "^4.1.1",
 | 
					    "@angular/compiler": "^4.1.1",
 | 
				
			||||||
 | 
					    "@angular/compiler-cli": "^4.1.1",
 | 
				
			||||||
    "@angular/core": "^4.1.1",
 | 
					    "@angular/core": "^4.1.1",
 | 
				
			||||||
    "@angular/forms": "^4.1.1",
 | 
					    "@angular/forms": "^4.1.1",
 | 
				
			||||||
    "@angular/http": "^4.1.1",
 | 
					    "@angular/http": "^4.1.1",
 | 
				
			||||||
| 
						 | 
					@ -25,19 +27,30 @@
 | 
				
			||||||
    "jquery-ui-bundle": "^1.11.4",
 | 
					    "jquery-ui-bundle": "^1.11.4",
 | 
				
			||||||
    "ngx-clipboard": "^8.0.2",
 | 
					    "ngx-clipboard": "^8.0.2",
 | 
				
			||||||
    "rxjs": "^5.2.0",
 | 
					    "rxjs": "^5.2.0",
 | 
				
			||||||
    "socket.io-client": "^1.4.8",
 | 
					 | 
				
			||||||
    "ts-helpers": "^1.1.1",
 | 
					    "ts-helpers": "^1.1.1",
 | 
				
			||||||
    "typescript": "^2.3.2",
 | 
					    "typescript": "^2.3.2",
 | 
				
			||||||
    "zone.js": "^0.8.5"
 | 
					    "zone.js": "^0.8.5"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@angular/cli": "1.0.2",
 | 
					    "@angular/cli": "1.0.2",
 | 
				
			||||||
    "@angular/compiler-cli": "^4.1.1",
 | 
					    "@angular/compiler-cli": "^2.4.3",
 | 
				
			||||||
    "@types/jasmine": "2.5.38",
 | 
					    "@types/jasmine": "2.5.38",
 | 
				
			||||||
    "@types/node": "~6.0.60",
 | 
					    "@types/node": "^6.0.42",
 | 
				
			||||||
    "@types/socket.io-client": "^1.4.26",
 | 
					    "@types/socket.io-client": "^1.4.26",
 | 
				
			||||||
    "codelyzer": "~2.0.0-beta.1",
 | 
					    "codelyzer": "~2.0.0-beta.1",
 | 
				
			||||||
 | 
					    "concurrently": "^2.0.0",
 | 
				
			||||||
 | 
					    "jasmine-core": "2.5.2",
 | 
				
			||||||
 | 
					    "jasmine-spec-reporter": "2.5.0",
 | 
				
			||||||
 | 
					    "karma": "1.2.0",
 | 
				
			||||||
 | 
					    "karma-chrome-launcher": "^2.0.0",
 | 
				
			||||||
 | 
					    "karma-cli": "^1.0.1",
 | 
				
			||||||
 | 
					    "karma-jasmine": "^1.0.2",
 | 
				
			||||||
 | 
					    "karma-remap-istanbul": "^0.2.1",
 | 
				
			||||||
 | 
					    "karma-spec-reporter": "0.0.26",
 | 
				
			||||||
 | 
					    "protractor": "~4.0.13",
 | 
				
			||||||
 | 
					    "protractor-jasmine2-screenshot-reporter": "^0.3.2",
 | 
				
			||||||
    "ts-node": "1.2.1",
 | 
					    "ts-node": "1.2.1",
 | 
				
			||||||
    "tslint": "^4.3.0"
 | 
					    "tslint": "^4.3.0",
 | 
				
			||||||
 | 
					    "typescript": "^2.3.2"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,52 @@
 | 
				
			||||||
 | 
					// Protractor configuration file, see link for more information
 | 
				
			||||||
 | 
					// https://github.com/angular/protractor/blob/master/docs/referenceConf.js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*global jasmine */
 | 
				
			||||||
 | 
					var SpecReporter = require('jasmine-spec-reporter');
 | 
				
			||||||
 | 
					//var ScreenshotProcessor = require('./e2e/helpers/screen_shot_reporter.ts');
 | 
				
			||||||
 | 
					var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var reporter = new HtmlScreenshotReporter({
 | 
				
			||||||
 | 
					  dest: 'tmp/screenshots',
 | 
				
			||||||
 | 
					  filename: 'test-report.html',
 | 
				
			||||||
 | 
					  cleanDestination: true,
 | 
				
			||||||
 | 
					  ignoreSkippedSpecs: true,
 | 
				
			||||||
 | 
					  captureOnlyFailedSpecs: false
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.config = {
 | 
				
			||||||
 | 
					  allScriptsTimeout: 11000,
 | 
				
			||||||
 | 
					  specs: [
 | 
				
			||||||
 | 
					    './e2e/**/*.e2e-spec.ts'
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  capabilities: {
 | 
				
			||||||
 | 
					    'browserName': 'firefox'
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  directConnect: true,
 | 
				
			||||||
 | 
					  baseUrl: 'http://localhost:4200/',
 | 
				
			||||||
 | 
					  framework: 'jasmine',
 | 
				
			||||||
 | 
					  jasmineNodeOpts: {
 | 
				
			||||||
 | 
					    showColors: true,
 | 
				
			||||||
 | 
					    defaultTimeoutInterval: 30000,
 | 
				
			||||||
 | 
					    print: function() {}
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  useAllAngular2AppRoots: true,
 | 
				
			||||||
 | 
					  beforeLaunch: function() {
 | 
				
			||||||
 | 
					    require('ts-node').register({
 | 
				
			||||||
 | 
					      project: 'e2e'
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    return new Promise(function(resolve){
 | 
				
			||||||
 | 
					      reporter.beforeLaunch(resolve);
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  afterLaunch: function(exitCode) {
 | 
				
			||||||
 | 
					    return new Promise(function(resolve){
 | 
				
			||||||
 | 
					      reporter.afterLaunch(resolve.bind(this, exitCode));
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onPrepare: function() {
 | 
				
			||||||
 | 
					    jasmine.getEnv().addReporter(reporter);
 | 
				
			||||||
 | 
					    jasmine.getEnv().addReporter(new SpecReporter());
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,32 @@
 | 
				
			||||||
 | 
					// Protractor configuration file, see link for more information
 | 
				
			||||||
 | 
					// https://github.com/angular/protractor/blob/master/lib/config.ts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*global jasmine */
 | 
				
			||||||
 | 
					var SpecReporter = require('jasmine-spec-reporter');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.config = {
 | 
				
			||||||
 | 
					  allScriptsTimeout: 11000,
 | 
				
			||||||
 | 
					  specs: [
 | 
				
			||||||
 | 
					    './e2e/**/*.e2e-spec.ts'
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  capabilities: {
 | 
				
			||||||
 | 
					    'browserName': 'chrome'
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  directConnect: true,
 | 
				
			||||||
 | 
					  baseUrl: 'http://localhost:8091/',
 | 
				
			||||||
 | 
					  framework: 'jasmine',
 | 
				
			||||||
 | 
					  jasmineNodeOpts: {
 | 
				
			||||||
 | 
					    showColors: true,
 | 
				
			||||||
 | 
					    defaultTimeoutInterval: 30000,
 | 
				
			||||||
 | 
					    print: function() {}
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  useAllAngular2AppRoots: true,
 | 
				
			||||||
 | 
					  beforeLaunch: function() {
 | 
				
			||||||
 | 
					    require('ts-node').register({
 | 
				
			||||||
 | 
					      project: 'e2e'
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  onPrepare: function() {
 | 
				
			||||||
 | 
					    jasmine.getEnv().addReporter(new SpecReporter());
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,35 @@
 | 
				
			||||||
 | 
					// This file is required by karma.conf.js and loads recursively all the .spec and framework files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import 'zone.js/dist/long-stack-trace-zone';
 | 
				
			||||||
 | 
					import 'zone.js/dist/proxy.js';
 | 
				
			||||||
 | 
					import 'zone.js/dist/sync-test';
 | 
				
			||||||
 | 
					import 'zone.js/dist/jasmine-patch';
 | 
				
			||||||
 | 
					import 'zone.js/dist/async-test';
 | 
				
			||||||
 | 
					import 'zone.js/dist/fake-async-test';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import 'rxjs/Rx';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { getTestBed } from '@angular/core/testing';
 | 
				
			||||||
 | 
					import {
 | 
				
			||||||
 | 
					  BrowserDynamicTestingModule,
 | 
				
			||||||
 | 
					  platformBrowserDynamicTesting
 | 
				
			||||||
 | 
					} from '@angular/platform-browser-dynamic/testing';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Unfortunately there's no typing for the `__karma__` variable. Just declare it as any.
 | 
				
			||||||
 | 
					declare var __karma__: any;
 | 
				
			||||||
 | 
					declare var require: any;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Prevent Karma from running prematurely.
 | 
				
			||||||
 | 
					__karma__.loaded = function () {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// First, initialize the Angular testing environment.
 | 
				
			||||||
 | 
					getTestBed().initTestEnvironment(
 | 
				
			||||||
 | 
					  BrowserDynamicTestingModule,
 | 
				
			||||||
 | 
					  platformBrowserDynamicTesting()
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					// Then we find all the tests.
 | 
				
			||||||
 | 
					const context = require.context('./', true, /\.spec\.ts$/);
 | 
				
			||||||
 | 
					// And load the modules.
 | 
				
			||||||
 | 
					context.keys().map(context);
 | 
				
			||||||
 | 
					// Finally, start Karma to run the tests.
 | 
				
			||||||
 | 
					__karma__.start();
 | 
				
			||||||
		Loading…
	
		Reference in New Issue