mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-14 06:17:38 +01:00
Enable UI UT test framework (karma and jasmine)
This commit is contained in:
parent
6acf49581c
commit
e31bab435b
1
.gitignore
vendored
1
.gitignore
vendored
@ -42,3 +42,4 @@ src/ui_ng/aot/**/*.json
|
|||||||
|
|
||||||
**/*ngsummary.json
|
**/*ngsummary.json
|
||||||
**/*ngfactory.ts
|
**/*ngfactory.ts
|
||||||
|
**/aot
|
||||||
|
@ -4,28 +4,24 @@
|
|||||||
"name": "harbor-ui"
|
"name": "harbor-ui"
|
||||||
},
|
},
|
||||||
"apps": [{
|
"apps": [{
|
||||||
"root": ".",
|
"root": "src",
|
||||||
"outDir": "../dist",
|
"outDir": "dist",
|
||||||
"assets": [
|
"index": "index.ts",
|
||||||
"images",
|
"main": "main.ts",
|
||||||
"favicon.ico"
|
|
||||||
],
|
|
||||||
"index": "index.html",
|
|
||||||
"main": "index.ts",
|
|
||||||
"test": "test.ts",
|
"test": "test.ts",
|
||||||
"tsconfig": "tsconfig.json",
|
"tsconfig": "tsconfig.json",
|
||||||
"prefix": "",
|
"prefix": "",
|
||||||
"mobile": false,
|
"mobile": false,
|
||||||
"styles": [
|
"styles": [
|
||||||
"node_modules/clarity-icons/clarity-icons.min.css",
|
"../node_modules/clarity-icons/clarity-icons.min.css",
|
||||||
"node_modules/clarity-ui/clarity-ui.min.css"
|
"../node_modules/clarity-ui/clarity-ui.min.css"
|
||||||
],
|
],
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"node_modules/core-js/client/shim.min.js",
|
"../node_modules/core-js/client/shim.min.js",
|
||||||
"node_modules/mutationobserver-shim/dist/mutationobserver.min.js",
|
"../node_modules/mutationobserver-shim/dist/mutationobserver.min.js",
|
||||||
"node_modules/@webcomponents/custom-elements/custom-elements.min.js",
|
"../node_modules/@webcomponents/custom-elements/custom-elements.min.js",
|
||||||
"node_modules/clarity-icons/clarity-icons.min.js",
|
"../node_modules/clarity-icons/clarity-icons.min.js",
|
||||||
"node_modules/web-animations-js/web-animations.min.js"
|
"../node_modules/web-animations-js/web-animations.min.js"
|
||||||
],
|
],
|
||||||
"environmentSource": "environments/environment.ts",
|
"environmentSource": "environments/environment.ts",
|
||||||
"environments": {
|
"environments": {
|
||||||
|
44
src/ui_ng/lib/karma.conf.js
Normal file
44
src/ui_ng/lib/karma.conf.js
Normal file
@ -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-phantomjs-launcher'),
|
||||||
|
require('karma-mocha-reporter'),
|
||||||
|
require('karma-remap-istanbul'),
|
||||||
|
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
|
||||||
|
? ['mocha', 'karma-remap-istanbul']
|
||||||
|
: ['mocha'],
|
||||||
|
port: 9876,
|
||||||
|
colors: true,
|
||||||
|
logLevel: config.LOG_INFO,
|
||||||
|
autoWatch: true,
|
||||||
|
browsers: ['PhantomJS'],
|
||||||
|
singleRun: true
|
||||||
|
});
|
||||||
|
};
|
@ -6,6 +6,7 @@
|
|||||||
"start": "ng serve --host 0.0.0.0 --port 4500 --proxy-config proxy.config.json",
|
"start": "ng serve --host 0.0.0.0 --port 4500 --proxy-config proxy.config.json",
|
||||||
"lint": "tslint \"src/**/*.ts\"",
|
"lint": "tslint \"src/**/*.ts\"",
|
||||||
"test": "ng test --single-run",
|
"test": "ng test --single-run",
|
||||||
|
"test:once": "karma start karma.conf.js --single-run",
|
||||||
"pree2e": "webdriver-manager update",
|
"pree2e": "webdriver-manager update",
|
||||||
"e2e": "protractor",
|
"e2e": "protractor",
|
||||||
"cleanup": "rimraf dist/bundles dist/src dist/index.d.ts dist/index.metadata.json dist/index.js dist/index.js.map dist/LICENSE dist/AUTHORS",
|
"cleanup": "rimraf dist/bundles dist/src dist/index.d.ts dist/index.metadata.json dist/index.js dist/index.js.map dist/LICENSE dist/AUTHORS",
|
||||||
@ -17,21 +18,28 @@
|
|||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/common": "^4.0.0",
|
"@angular/animations": "^4.0.1",
|
||||||
"@angular/compiler": "^4.0.0",
|
"@angular/common": "^4.0.1",
|
||||||
"@angular/core": "^4.0.0",
|
"@angular/compiler": "^4.0.1",
|
||||||
"@angular/http": "^4.0.0",
|
"@angular/core": "^4.0.1",
|
||||||
"clarity-angular": "^0.8.14",
|
"@angular/forms": "^4.0.1",
|
||||||
"clarity-icons": "^0.8.14",
|
"@angular/http": "^4.0.1",
|
||||||
"clarity-ui": "^0.8.14",
|
"@angular/platform-browser": "^4.0.1",
|
||||||
|
"@angular/platform-browser-dynamic": "^4.0.1",
|
||||||
|
"@angular/router": "^4.0.1",
|
||||||
|
"@webcomponents/custom-elements": "1.0.0-alpha.3",
|
||||||
|
"web-animations-js": "^2.2.1",
|
||||||
|
"clarity-angular": "^0.9.0",
|
||||||
|
"clarity-icons": "^0.9.0",
|
||||||
|
"clarity-ui": "^0.9.0",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"rxjs": "^5.0.1",
|
"rxjs": "^5.0.1",
|
||||||
"ts-helpers": "^1.1.1",
|
"ts-helpers": "^1.1.1",
|
||||||
"zone.js": "^0.7.2"
|
"zone.js": "^0.8.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular/cli": "^1.0.0",
|
"@angular/cli": "^1.0.0",
|
||||||
"@angular/compiler-cli": "^2.4.1",
|
"@angular/compiler-cli": "^4.0.1",
|
||||||
"@types/core-js": "^0.9.41",
|
"@types/core-js": "^0.9.41",
|
||||||
"@types/jasmine": "~2.2.30",
|
"@types/jasmine": "~2.2.30",
|
||||||
"@types/node": "^6.0.42",
|
"@types/node": "^6.0.42",
|
||||||
@ -50,7 +58,7 @@
|
|||||||
"rollup": "^0.41.6",
|
"rollup": "^0.41.6",
|
||||||
"ts-node": "1.2.1",
|
"ts-node": "1.2.1",
|
||||||
"tslint": "^4.1.1",
|
"tslint": "^4.1.1",
|
||||||
"typescript": "~2.0.3",
|
"typescript": "~2.2.0",
|
||||||
"typings": "^1.4.0",
|
"typings": "^1.4.0",
|
||||||
"uglify-js": "^2.8.22",
|
"uglify-js": "^2.8.22",
|
||||||
"webdriver-manager": "10.2.5",
|
"webdriver-manager": "10.2.5",
|
||||||
|
@ -19,16 +19,23 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/vmware/harbor#readme",
|
"homepage": "https://github.com/vmware/harbor#readme",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^4.0.0",
|
"@angular/animations": "^4.0.1",
|
||||||
"@angular/compiler": "^4.0.0",
|
"@angular/common": "^4.0.1",
|
||||||
"@angular/core": "^4.0.0",
|
"@angular/compiler": "^4.0.1",
|
||||||
"@angular/http": "^4.0.0",
|
"@angular/core": "^4.0.1",
|
||||||
"clarity-angular": "^0.8.14",
|
"@angular/forms": "^4.0.1",
|
||||||
"clarity-icons": "^0.8.14",
|
"@angular/http": "^4.0.1",
|
||||||
"clarity-ui": "^0.8.14",
|
"@angular/platform-browser": "^4.0.1",
|
||||||
|
"@angular/platform-browser-dynamic": "^4.0.1",
|
||||||
|
"@angular/router": "^4.0.1",
|
||||||
|
"@webcomponents/custom-elements": "1.0.0-alpha.3",
|
||||||
|
"web-animations-js": "^2.2.1",
|
||||||
|
"clarity-angular": "^0.9.0",
|
||||||
|
"clarity-icons": "^0.9.0",
|
||||||
|
"clarity-ui": "^0.9.0",
|
||||||
"core-js": "^2.4.1",
|
"core-js": "^2.4.1",
|
||||||
"rxjs": "^5.0.1",
|
"rxjs": "^5.0.1",
|
||||||
"ts-helpers": "^1.1.1",
|
"ts-helpers": "^1.1.1",
|
||||||
"zone.js": "^0.7.2"
|
"zone.js": "^0.8.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
24
src/ui_ng/lib/src/app.module.ts
Normal file
24
src/ui_ng/lib/src/app.module.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
|
||||||
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { FormsModule } from '@angular/forms';
|
||||||
|
import { HttpModule } from '@angular/http';
|
||||||
|
import { ClarityModule } from 'clarity-angular';
|
||||||
|
import { HarborLibraryModule } from './harbor-library.module';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [],
|
||||||
|
imports: [
|
||||||
|
BrowserAnimationsModule,
|
||||||
|
BrowserModule,
|
||||||
|
FormsModule,
|
||||||
|
HttpModule,
|
||||||
|
ClarityModule.forRoot(),
|
||||||
|
HarborLibraryModule.forRoot()
|
||||||
|
],
|
||||||
|
providers: [],
|
||||||
|
bootstrap: []
|
||||||
|
})
|
||||||
|
|
||||||
|
export class AppModule {
|
||||||
|
}
|
3
src/ui_ng/lib/src/environments/environment.prod.ts
Normal file
3
src/ui_ng/lib/src/environments/environment.prod.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export const environment = {
|
||||||
|
production: true
|
||||||
|
};
|
8
src/ui_ng/lib/src/environments/environment.ts
Normal file
8
src/ui_ng/lib/src/environments/environment.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// The file contents for the current environment will overwrite these during build.
|
||||||
|
// The build system defaults to the dev environment which uses `environment.ts`, but if you do
|
||||||
|
// `ng build --env=prod` then `environment.prod.ts` will be used instead.
|
||||||
|
// The list of which env maps to which file can be found in `angular-cli.json`.
|
||||||
|
|
||||||
|
export const environment = {
|
||||||
|
production: false
|
||||||
|
};
|
12
src/ui_ng/lib/src/main.ts
Normal file
12
src/ui_ng/lib/src/main.ts
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import './polyfills.ts';
|
||||||
|
|
||||||
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
|
import { enableProdMode } from '@angular/core';
|
||||||
|
import { environment } from './environments/environment';
|
||||||
|
import { AppModule } from './app.module';
|
||||||
|
|
||||||
|
if (environment.production) {
|
||||||
|
enableProdMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
platformBrowserDynamic().bootstrapModule(AppModule);
|
22
src/ui_ng/lib/src/polyfills.ts
Normal file
22
src/ui_ng/lib/src/polyfills.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// This file includes polyfills needed by Angular 2 and is loaded before
|
||||||
|
// the app. You can add your own extra polyfills to this file.
|
||||||
|
import 'core-js/es6/symbol';
|
||||||
|
import 'core-js/es6/object';
|
||||||
|
import 'core-js/es6/function';
|
||||||
|
import 'core-js/es6/parse-int';
|
||||||
|
import 'core-js/es6/parse-float';
|
||||||
|
import 'core-js/es6/number';
|
||||||
|
import 'core-js/es6/math';
|
||||||
|
import 'core-js/es6/string';
|
||||||
|
import 'core-js/es6/date';
|
||||||
|
import 'core-js/es6/array';
|
||||||
|
import 'core-js/es6/regexp';
|
||||||
|
import 'core-js/es6/map';
|
||||||
|
import 'core-js/es6/set';
|
||||||
|
import 'core-js/es6/reflect';
|
||||||
|
|
||||||
|
import 'core-js/es7/reflect';
|
||||||
|
|
||||||
|
|
||||||
|
import 'zone.js/dist/zone';
|
||||||
|
|
@ -5,14 +5,16 @@ import { AccessLogService, AccessLogDefaultService } from './access-log.service'
|
|||||||
describe('AccessLogService', () => {
|
describe('AccessLogService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [{
|
providers: [
|
||||||
|
AccessLogDefaultService,
|
||||||
|
{
|
||||||
provide: AccessLogService,
|
provide: AccessLogService,
|
||||||
useClass: AccessLogDefaultService
|
useClass: AccessLogDefaultService
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should ...', inject([AccessLogDefaultService], (service: AccessLogService) => {
|
it('should be initialized', inject([AccessLogDefaultService], (service: AccessLogService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -5,14 +5,16 @@ import { EndpointService, EndpointDefaultService } from './endpoint.service';
|
|||||||
describe('EndpointService', () => {
|
describe('EndpointService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [{
|
providers: [
|
||||||
|
EndpointDefaultService,
|
||||||
|
{
|
||||||
provide: EndpointService,
|
provide: EndpointService,
|
||||||
useClass: EndpointDefaultService
|
useClass: EndpointDefaultService
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should ...', inject([EndpointDefaultService], (service: EndpointService) => {
|
it('should be initialized', inject([EndpointDefaultService], (service: EndpointService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -5,14 +5,16 @@ import { ReplicationService, ReplicationDefaultService } from './replication.ser
|
|||||||
describe('ReplicationService', () => {
|
describe('ReplicationService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [{
|
providers: [
|
||||||
|
ReplicationDefaultService,
|
||||||
|
{
|
||||||
provide: ReplicationService,
|
provide: ReplicationService,
|
||||||
useClass: ReplicationDefaultService
|
useClass: ReplicationDefaultService
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should ...', inject([ReplicationDefaultService], (service: ReplicationService) => {
|
it('should be initialized', inject([ReplicationDefaultService], (service: ReplicationService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -5,14 +5,16 @@ import { ReplicationService, ReplicationDefaultService } from './replication.ser
|
|||||||
describe('ReplicationService', () => {
|
describe('ReplicationService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [{
|
providers: [
|
||||||
|
ReplicationDefaultService,
|
||||||
|
{
|
||||||
provide: ReplicationService,
|
provide: ReplicationService,
|
||||||
useClass: ReplicationDefaultService
|
useClass: ReplicationDefaultService
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should ...', inject([ReplicationDefaultService], (service: ReplicationService) => {
|
it('should be initialized', inject([ReplicationDefaultService], (service: ReplicationService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -5,14 +5,16 @@ import { TagService, TagDefaultService } from './tag.service';
|
|||||||
describe('TagService', () => {
|
describe('TagService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [{
|
providers: [
|
||||||
|
TagDefaultService,
|
||||||
|
{
|
||||||
provide: TagService,
|
provide: TagService,
|
||||||
useClass: TagDefaultService
|
useClass: TagDefaultService
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should ...', inject([TagDefaultService], (service: TagService) => {
|
it('should be initialized', inject([TagDefaultService], (service: TagService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -1,15 +1,29 @@
|
|||||||
import { TestBed, inject } from '@angular/core/testing';
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
import { SystemInfoService } from './system-info.service';
|
import { SystemInfoService } from './system-info.service';
|
||||||
|
import { HttpModule } from '@angular/http';
|
||||||
|
import { SERVICE_CONFIG, IServiceConfig } from '../../service.config';
|
||||||
|
|
||||||
|
export const testConfig: IServiceConfig = {
|
||||||
|
systemInfoEndpoint: "/api/systeminfo",
|
||||||
|
repositoryBaseEndpoint: "",
|
||||||
|
logBaseEndpoint: "",
|
||||||
|
targetBaseEndpoint: "",
|
||||||
|
replicationRuleEndpoint: "",
|
||||||
|
replicationJobEndpoint: ""
|
||||||
|
};
|
||||||
|
|
||||||
describe('SysteninfoService', () => {
|
describe('SysteninfoService', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
providers: [SystemInfoService]
|
imports: [HttpModule],
|
||||||
|
providers: [
|
||||||
|
{ provide: SERVICE_CONFIG, useValue: testConfig },
|
||||||
|
SystemInfoService]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should ...', inject([SystemInfoService], (service: SystemInfoService) => {
|
it('should be initialized', inject([SystemInfoService], (service: SystemInfoService) => {
|
||||||
expect(service).toBeTruthy();
|
expect(service).toBeTruthy();
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,18 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { HttpModule } from '@angular/http';
|
||||||
|
|
||||||
import { SystemComponent } from './system.component';
|
import { SystemComponent } from './system.component';
|
||||||
|
import { SystemInfoService } from './providers/system-info.service';
|
||||||
|
import { SERVICE_CONFIG, IServiceConfig } from '../service.config';
|
||||||
|
|
||||||
|
export const testConfig: IServiceConfig = {
|
||||||
|
systemInfoEndpoint: "/api/systeminfo",
|
||||||
|
repositoryBaseEndpoint: "",
|
||||||
|
logBaseEndpoint: "",
|
||||||
|
targetBaseEndpoint: "",
|
||||||
|
replicationRuleEndpoint: "",
|
||||||
|
replicationJobEndpoint: ""
|
||||||
|
};
|
||||||
|
|
||||||
describe('SystemComponent', () => {
|
describe('SystemComponent', () => {
|
||||||
let component: SystemComponent;
|
let component: SystemComponent;
|
||||||
@ -8,7 +20,12 @@ describe('SystemComponent', () => {
|
|||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [SystemComponent]
|
imports: [HttpModule],
|
||||||
|
declarations: [SystemComponent],
|
||||||
|
providers: [
|
||||||
|
{ provide: SERVICE_CONFIG, useValue: testConfig },
|
||||||
|
SystemInfoService
|
||||||
|
]
|
||||||
})
|
})
|
||||||
.compileComponents();
|
.compileComponents();
|
||||||
}));
|
}));
|
||||||
@ -19,7 +36,7 @@ describe('SystemComponent', () => {
|
|||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should create', () => {
|
it('should be created', () => {
|
||||||
expect(component).toBeTruthy();
|
expect(component).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
32
src/ui_ng/lib/src/test.ts
Normal file
32
src/ui_ng/lib/src/test.ts
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import './polyfills.ts';
|
||||||
|
|
||||||
|
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 { 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.
|
||||||
|
let context = require.context('./', true, /\.spec\.ts/);
|
||||||
|
// And load the modules.
|
||||||
|
context.keys().map(context);
|
||||||
|
// Finally, start Karma to run the tests.
|
||||||
|
__karma__.start();
|
33
src/ui_ng/lib/src/tsconfig.json
Normal file
33
src/ui_ng/lib/src/tsconfig.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"compileOnSave": false,
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": "../",
|
||||||
|
"baseUrl": "",
|
||||||
|
"declaration": false,
|
||||||
|
"emitDecoratorMetadata": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"lib": [
|
||||||
|
"es6",
|
||||||
|
"dom"
|
||||||
|
],
|
||||||
|
"mapRoot": "src",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"outDir": "dist",
|
||||||
|
"sourceMap": true,
|
||||||
|
"target": "es5",
|
||||||
|
"typeRoots": [
|
||||||
|
"node_modules/@types"
|
||||||
|
],
|
||||||
|
"types": [
|
||||||
|
"jasmine",
|
||||||
|
"core-js",
|
||||||
|
"node"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"dist",
|
||||||
|
"test.ts"
|
||||||
|
]
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"baseUrl": ".",
|
"baseUrl": "",
|
||||||
|
"rootDir": ".",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"stripInternal": true,
|
"stripInternal": true,
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
@ -12,7 +13,6 @@
|
|||||||
"@angular/core": ["node_modules/@angular/core"],
|
"@angular/core": ["node_modules/@angular/core"],
|
||||||
"rxjs/*": ["node_modules/rxjs/*"]
|
"rxjs/*": ["node_modules/rxjs/*"]
|
||||||
},
|
},
|
||||||
"rootDir": ".",
|
|
||||||
"outDir": "dist",
|
"outDir": "dist",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"inlineSources": true,
|
"inlineSources": true,
|
||||||
@ -20,9 +20,23 @@
|
|||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"lib": [
|
"lib": [
|
||||||
"es2015",
|
"es2015",
|
||||||
|
"es6",
|
||||||
"dom"
|
"dom"
|
||||||
|
],
|
||||||
|
"typeRoots": [
|
||||||
|
"node_modules/@types"
|
||||||
|
],
|
||||||
|
"types": [
|
||||||
|
"jasmine",
|
||||||
|
"core-js",
|
||||||
|
"node"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"dist",
|
||||||
|
"test.ts"
|
||||||
|
],
|
||||||
"files": [
|
"files": [
|
||||||
"index.ts"
|
"index.ts"
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user