feat(core): implement jest to core and add @angular-builders/jest:run

pull/1884/head
mehmet-erim 6 years ago
parent 7a14ea2bf3
commit 19c487bf8f

@ -17,12 +17,8 @@
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "packages/core/src/test.ts",
"tsConfig": "packages/core/tsconfig.spec.json",
"karmaConfig": "packages/core/karma.conf.js"
}
"builder": "@angular-builders/jest:run",
"options": {}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",

@ -4,32 +4,32 @@
"outDir": "../../out-tsc/app",
"types": [],
"paths": {
// "@abp/ng.core": ["packages/core/src/public-api.ts"],
// "@abp/ng.core/*": ["packages/core/src/lib/*"],
// // "@abp/ng.theme.shared": ["packages/theme-shared/src/public-api.ts"],
// // "@abp/ng.theme.shared/*": ["packages/theme-shared/src/lib/*"],
// "@abp/ng.theme.basic": ["packages/theme-basic/src/public-api.ts"],
// "@abp/ng.theme.basic/*": ["packages/theme-basic/src/lib/*"],
// "@abp/ng.account": ["packages/account/src/public-api.ts"],
// "@abp/ng.account/*": ["packages/account/src/lib/*"],
// "@abp/ng.account.config": ["packages/account-config/src/public-api.ts"],
// "@abp/ng.account.config/*": ["packages/account-config/src/lib/*"],
// "@abp/ng.identity": ["packages/identity/src/public-api.ts"],
// "@abp/ng.identity/*": ["packages/identity/src/lib/*"],
// "@abp/ng.identity.config": ["packages/identity-config/src/public-api.ts"],
// "@abp/ng.identity.config/*": ["packages/identity-config/src/lib/*"],
// "@abp/ng.tenant-management": ["packages/tenant-management/src/public-api.ts"],
// "@abp/ng.tenant-management/*": ["packages/tenant-management/src/lib/*"],
// "@abp/ng.tenant-management.config": ["packages/tenant-management-config/src/public-api.ts"],
// "@abp/ng.tenant-management.config/*": ["packages/tenant-management-config/src/lib/*"],
// "@abp/ng.setting-management": ["packages/setting-management/src/public-api.ts"],
// "@abp/ng.setting-management/*": ["packages/setting-management/src/lib/*"],
// "@abp/ng.setting-management.config": ["packages/setting-management-config/src/public-api.ts"],
// "@abp/ng.setting-management.config/*": ["packages/setting-management-config/src/lib/*"],
// "@abp/ng.permission-management": ["packages/permission-management/src/public-api.ts"],
// "@abp/ng.permission-management/*": ["packages/permission-management/src/lib/*"],
// "@abp/ng.feature-management": ["packages/feature-management/src/public-api.ts"],
// "@abp/ng.feature-management/*": ["packages/feature-management/src/lib/*"]
"@abp/ng.core": ["packages/core/src/public-api.ts"],
"@abp/ng.core/*": ["packages/core/src/lib/*"],
// "@abp/ng.theme.shared": ["packages/theme-shared/src/public-api.ts"],
// "@abp/ng.theme.shared/*": ["packages/theme-shared/src/lib/*"],
"@abp/ng.theme.basic": ["packages/theme-basic/src/public-api.ts"],
"@abp/ng.theme.basic/*": ["packages/theme-basic/src/lib/*"],
"@abp/ng.account": ["packages/account/src/public-api.ts"],
"@abp/ng.account/*": ["packages/account/src/lib/*"],
"@abp/ng.account.config": ["packages/account-config/src/public-api.ts"],
"@abp/ng.account.config/*": ["packages/account-config/src/lib/*"],
"@abp/ng.identity": ["packages/identity/src/public-api.ts"],
"@abp/ng.identity/*": ["packages/identity/src/lib/*"],
"@abp/ng.identity.config": ["packages/identity-config/src/public-api.ts"],
"@abp/ng.identity.config/*": ["packages/identity-config/src/lib/*"],
"@abp/ng.tenant-management": ["packages/tenant-management/src/public-api.ts"],
"@abp/ng.tenant-management/*": ["packages/tenant-management/src/lib/*"],
"@abp/ng.tenant-management.config": ["packages/tenant-management-config/src/public-api.ts"],
"@abp/ng.tenant-management.config/*": ["packages/tenant-management-config/src/lib/*"],
"@abp/ng.setting-management": ["packages/setting-management/src/public-api.ts"],
"@abp/ng.setting-management/*": ["packages/setting-management/src/lib/*"],
"@abp/ng.setting-management.config": ["packages/setting-management-config/src/public-api.ts"],
"@abp/ng.setting-management.config/*": ["packages/setting-management-config/src/lib/*"],
"@abp/ng.permission-management": ["packages/permission-management/src/public-api.ts"],
"@abp/ng.permission-management/*": ["packages/permission-management/src/lib/*"],
"@abp/ng.feature-management": ["packages/feature-management/src/public-api.ts"],
"@abp/ng.feature-management/*": ["packages/feature-management/src/lib/*"]
}
},
"files": ["src/main.ts", "src/polyfills.ts"],

@ -0,0 +1,18 @@
module.exports = {
globals: {
'ts-jest': {
allowSyntheticDefaultImports: true,
},
},
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest',
},
moduleFileExtensions: ['ts', 'js', 'html'],
coverageReporters: ['html'],
preset: 'jest-preset-angular',
setupFilesAfterEnv: ['<rootDir>/test-setup.ts'],
snapshotSerializers: [
'jest-preset-angular/AngularSnapshotSerializer.js',
'jest-preset-angular/HTMLCommentSerializer.js',
],
};

@ -2,7 +2,7 @@
"scripts": {
"start": "ng serve dev-app",
"ng": "ng",
"test": "jest",
"test": "ng test",
"symlink": "symlink",
"abpng": "abpng",
"commit": "git-cz && node scripts/push.js",
@ -15,6 +15,7 @@
"@abp/ng.theme.shared": "^0.9.0",
"@angular-devkit/build-angular": "~0.803.6",
"@angular-devkit/build-ng-packagr": "~0.803.6",
"@angular-builders/jest": "^8.2.0",
"@angular/animations": "~8.2.8",
"@angular/cdk": "^8.2.2",
"@angular/cli": "~8.3.6",
@ -28,7 +29,7 @@
"@angular/platform-browser-dynamic": "~8.2.8",
"@angular/router": "~8.2.8",
"@ng-bootstrap/ng-bootstrap": "^5.1.0",
"@ngneat/spectator": "^4.3.2",
"@ngneat/spectator": "^4.4.0",
"@ngx-validate/core": "^0.0.5",
"@ngxs/devtools-plugin": "^3.5.1",
"@ngxs/router-plugin": "^3.5.1",
@ -65,6 +66,7 @@
"zone.js": "~0.9.1"
},
"dependencies": {
"@briebug/jest": "^1.3.1",
"tslib": "^1.10.0"
},
"config": {
@ -87,9 +89,5 @@
"tslint --fix",
"git add"
]
},
"jest": {
"preset": "jest-preset-angular",
"setupTestFrameworkScriptFile": "<rootDir>/setupJest.ts"
}
}

@ -0,0 +1,9 @@
const { pathsToModuleNameMapper } = require('ts-jest/utils');
const { compilerOptions } = require('./tsconfig.spec');
module.exports = {
name: 'core',
testMatch: ['<rootDir>/packages/core/**/+(*.)+(spec|test).+(ts|js)?(x)'],
coverageDirectory: '../../coverage/libs/core',
moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths /*, { prefix: '<rootDir>/' } */),
};

@ -7,7 +7,7 @@ import { NgxsResetPluginModule, StateOverwrite } from 'ngxs-reset-plugin';
import { LAYOUTS, ThemeBasicModule } from '../../../../theme-basic/src/public-api';
import { eLayoutType } from '../enums';
import { ABP } from '../models';
import { RouterOutletComponent, CoreModule, DynamicLayoutComponent, ConfigState } from '../../public-api';
import { RouterOutletComponent, CoreModule, DynamicLayoutComponent, ConfigState } from '@abp/ng.core';
import { ThemeSharedModule } from '../../../../theme-shared/src/public-api';
import { MessageService } from 'primeng/components/common/messageservice';

@ -24,7 +24,7 @@ describe('LocaleProvider', () => {
});
describe('#LOCALE_ID', () => {
it('should equal to localizationService.currentLang', async () => {
test('should equal to currentLang', async () => {
spectator = createComponent();
const localizationService = spectator.get(LocalizationService);

@ -15,7 +15,7 @@ describe('HttpClient testing', () => {
store.selectSnapshot.andReturn(api);
});
it('should send a GET request with params', () => {
test('should send a GET request with params', () => {
spectator.service.request({ method: HttpMethod.GET, url: '/test', params: { id: 1 } }).subscribe();
spectator.expectOne(api + '/test?id=1', HttpMethod.GET);
});

@ -1,11 +1,14 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"types": ["node", "jest"],
"emitDecoratorMetadata": true,
"esModuleInterop": true
"esModuleInterop": true,
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"],
"paths": {
"@abp/ng.core/*": ["packages/core/src/lib/*"]
}
},
"files": [],
"include": ["**/*.spec.ts", "**/*.d.ts"]
}

@ -13,7 +13,7 @@
"target": "es2015",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"paths": {}
"types": ["jest"]
},
"angularCompilerOptions": {
"fullTemplateTypeCheck": true,

Loading…
Cancel
Save