From c116a2d21396fc696adfd0a393e0420f62333504 Mon Sep 17 00:00:00 2001 From: thediaval Date: Fri, 25 Oct 2019 16:38:04 +0300 Subject: [PATCH 1/2] feat: add jest.config files --- npm/ng-packs/angular.json | 30 +++++++------------ .../feature-management/jest.config.js | 7 +++++ .../feature-management/tsconfig.spec.json | 8 +++-- npm/ng-packs/packages/identity/jest.config.js | 7 +++++ .../packages/identity/tsconfig.spec.json | 8 +++-- .../permission-management/jest.config.js | 7 +++++ .../permission-management-state.service.ts | 2 +- .../lib/states/permission-management.state.ts | 2 +- .../permission-management/tsconfig.spec.json | 8 +++-- .../packages/tenant-management/jest.config.js | 7 +++++ .../tenant-management-state.service.ts | 2 +- .../tenant-management/tsconfig.spec.json | 8 +++-- .../packages/theme-basic/jest.config.js | 7 +++++ .../packages/theme-basic/tsconfig.spec.json | 8 +++-- .../packages/theme-shared/jest.config.js | 1 + 15 files changed, 74 insertions(+), 38 deletions(-) create mode 100644 npm/ng-packs/packages/feature-management/jest.config.js create mode 100644 npm/ng-packs/packages/identity/jest.config.js create mode 100644 npm/ng-packs/packages/permission-management/jest.config.js create mode 100644 npm/ng-packs/packages/tenant-management/jest.config.js create mode 100644 npm/ng-packs/packages/theme-basic/jest.config.js diff --git a/npm/ng-packs/angular.json b/npm/ng-packs/angular.json index 90a1df64d0..d06f64cd18 100644 --- a/npm/ng-packs/angular.json +++ b/npm/ng-packs/angular.json @@ -75,11 +75,9 @@ } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular-builders/jest:run", "options": { - "main": "packages/theme-basic/src/test.ts", - "tsConfig": "packages/theme-basic/tsconfig.spec.json", - "karmaConfig": "packages/theme-basic/karma.conf.js" + "coverage": true } }, "lint": { @@ -135,11 +133,9 @@ } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular-builders/jest:run", "options": { - "main": "packages/permission-management/src/test.ts", - "tsConfig": "packages/permission-management/tsconfig.spec.json", - "karmaConfig": "packages/permission-management/karma.conf.js" + "coverage": true } }, "lint": { @@ -168,11 +164,9 @@ } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular-builders/jest:run", "options": { - "main": "packages/identity/src/test.ts", - "tsConfig": "packages/identity/tsconfig.spec.json", - "karmaConfig": "packages/identity/karma.conf.js" + "coverage": true } }, "lint": { @@ -198,11 +192,9 @@ } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular-builders/jest:run", "options": { - "main": "packages/feature-management/src/test.ts", - "tsConfig": "packages/feature-management/tsconfig.spec.json", - "karmaConfig": "packages/feature-management/karma.conf.js" + "coverage": true } }, "lint": { @@ -231,11 +223,9 @@ } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular-builders/jest:run", "options": { - "main": "packages/tenant-management/src/test.ts", - "tsConfig": "packages/tenant-management/tsconfig.spec.json", - "karmaConfig": "packages/tenant-management/karma.conf.js" + "coverage": true } }, "lint": { diff --git a/npm/ng-packs/packages/feature-management/jest.config.js b/npm/ng-packs/packages/feature-management/jest.config.js new file mode 100644 index 0000000000..febb971892 --- /dev/null +++ b/npm/ng-packs/packages/feature-management/jest.config.js @@ -0,0 +1,7 @@ +const jestConfig = require('../../jest.config'); + +module.exports = { + ...jestConfig, + name: 'feature-management', + 'ts-jest': { allowSyntheticDefaultImports: true }, +}; diff --git a/npm/ng-packs/packages/feature-management/tsconfig.spec.json b/npm/ng-packs/packages/feature-management/tsconfig.spec.json index ebce9b9fdb..54e55c4f05 100644 --- a/npm/ng-packs/packages/feature-management/tsconfig.spec.json +++ b/npm/ng-packs/packages/feature-management/tsconfig.spec.json @@ -1,9 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": ["node", "jest"] + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] }, - "files": [], "include": ["**/*.spec.ts", "**/*.d.ts"] } diff --git a/npm/ng-packs/packages/identity/jest.config.js b/npm/ng-packs/packages/identity/jest.config.js new file mode 100644 index 0000000000..272aeb04c5 --- /dev/null +++ b/npm/ng-packs/packages/identity/jest.config.js @@ -0,0 +1,7 @@ +const jestConfig = require('../../jest.config'); + +module.exports = { + ...jestConfig, + name: 'identity', + 'ts-jest': { allowSyntheticDefaultImports: true }, +}; diff --git a/npm/ng-packs/packages/identity/tsconfig.spec.json b/npm/ng-packs/packages/identity/tsconfig.spec.json index ebce9b9fdb..54e55c4f05 100644 --- a/npm/ng-packs/packages/identity/tsconfig.spec.json +++ b/npm/ng-packs/packages/identity/tsconfig.spec.json @@ -1,9 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": ["node", "jest"] + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] }, - "files": [], "include": ["**/*.spec.ts", "**/*.d.ts"] } diff --git a/npm/ng-packs/packages/permission-management/jest.config.js b/npm/ng-packs/packages/permission-management/jest.config.js new file mode 100644 index 0000000000..89d7bd65f1 --- /dev/null +++ b/npm/ng-packs/packages/permission-management/jest.config.js @@ -0,0 +1,7 @@ +const jestConfig = require('../../jest.config'); + +module.exports = { + ...jestConfig, + name: 'permission-management', + 'ts-jest': { allowSyntheticDefaultImports: true }, +}; diff --git a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts index 431b7be19f..a85d637c87 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts @@ -12,6 +12,6 @@ export class PermissionManagementStateService { return this.store.selectSnapshot(PermissionManagementState.getPermissionGroups); } getEntityDisplayName() { - return this.store.selectSnapshot(PermissionManagementState.getPermissionGroups); + return this.store.selectSnapshot(PermissionManagementState.getEntityDisplayName); } } diff --git a/npm/ng-packs/packages/permission-management/src/lib/states/permission-management.state.ts b/npm/ng-packs/packages/permission-management/src/lib/states/permission-management.state.ts index 2da786b063..671c9f5cf3 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/states/permission-management.state.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/states/permission-management.state.ts @@ -15,7 +15,7 @@ export class PermissionManagementState { } @Selector() - static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string { + static getEntityDisplayName({ permissionRes }: PermissionManagement.State): string { return permissionRes.entityDisplayName; } diff --git a/npm/ng-packs/packages/permission-management/tsconfig.spec.json b/npm/ng-packs/packages/permission-management/tsconfig.spec.json index ebce9b9fdb..54e55c4f05 100644 --- a/npm/ng-packs/packages/permission-management/tsconfig.spec.json +++ b/npm/ng-packs/packages/permission-management/tsconfig.spec.json @@ -1,9 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": ["node", "jest"] + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] }, - "files": [], "include": ["**/*.spec.ts", "**/*.d.ts"] } diff --git a/npm/ng-packs/packages/tenant-management/jest.config.js b/npm/ng-packs/packages/tenant-management/jest.config.js new file mode 100644 index 0000000000..5daf04ea93 --- /dev/null +++ b/npm/ng-packs/packages/tenant-management/jest.config.js @@ -0,0 +1,7 @@ +const jestConfig = require('../../jest.config'); + +module.exports = { + ...jestConfig, + name: 'tenant-management', + 'ts-jest': { allowSyntheticDefaultImports: true }, +}; diff --git a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts index 1b3200f155..442289a66f 100644 --- a/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts +++ b/npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts @@ -8,7 +8,7 @@ import { TenantManagementState } from '../states/tenant-management.state'; export class TenantManagementStateService { constructor(private store: Store) {} - getTenants() { + get() { return this.store.selectSnapshot(TenantManagementState.get); } diff --git a/npm/ng-packs/packages/tenant-management/tsconfig.spec.json b/npm/ng-packs/packages/tenant-management/tsconfig.spec.json index ebce9b9fdb..54e55c4f05 100644 --- a/npm/ng-packs/packages/tenant-management/tsconfig.spec.json +++ b/npm/ng-packs/packages/tenant-management/tsconfig.spec.json @@ -1,9 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": ["node", "jest"] + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] }, - "files": [], "include": ["**/*.spec.ts", "**/*.d.ts"] } diff --git a/npm/ng-packs/packages/theme-basic/jest.config.js b/npm/ng-packs/packages/theme-basic/jest.config.js new file mode 100644 index 0000000000..ffb4ca0be6 --- /dev/null +++ b/npm/ng-packs/packages/theme-basic/jest.config.js @@ -0,0 +1,7 @@ +const jestConfig = require('../../jest.config'); + +module.exports = { + ...jestConfig, + name: 'theme-basic', + 'ts-jest': { allowSyntheticDefaultImports: true }, +}; diff --git a/npm/ng-packs/packages/theme-basic/tsconfig.spec.json b/npm/ng-packs/packages/theme-basic/tsconfig.spec.json index ebce9b9fdb..54e55c4f05 100644 --- a/npm/ng-packs/packages/theme-basic/tsconfig.spec.json +++ b/npm/ng-packs/packages/theme-basic/tsconfig.spec.json @@ -1,9 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": ["node", "jest"] + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "outDir": "../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] }, - "files": [], "include": ["**/*.spec.ts", "**/*.d.ts"] } diff --git a/npm/ng-packs/packages/theme-shared/jest.config.js b/npm/ng-packs/packages/theme-shared/jest.config.js index 718fcfe21b..e70e3b65dc 100644 --- a/npm/ng-packs/packages/theme-shared/jest.config.js +++ b/npm/ng-packs/packages/theme-shared/jest.config.js @@ -8,3 +8,4 @@ module.exports = { moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths /*, { prefix: '/' } */), 'ts-jest': { allowSyntheticDefaultImports: true }, }; +z; From 73fbe7ddf1326f5faa812bae0e79c0726d740d5d Mon Sep 17 00:00:00 2001 From: thediaval Date: Fri, 25 Oct 2019 16:54:38 +0300 Subject: [PATCH 2/2] fix: fix mistyped config file and selector name --- .../permission-management.component.ts | 32 +++++++++---------- .../packages/theme-shared/jest.config.js | 1 - 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts index c968df1e3d..7419acc013 100644 --- a/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts +++ b/npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts @@ -7,7 +7,7 @@ import { Output, Renderer2, SimpleChanges, - TrackByFunction + TrackByFunction, } from '@angular/core'; import { Select, Store } from '@ngxs/store'; import { from, Observable } from 'rxjs'; @@ -22,7 +22,7 @@ type PermissionWithMargin = PermissionManagement.Permission & { @Component({ selector: 'abp-permission-management', - templateUrl: './permission-management.component.html' + templateUrl: './permission-management.component.html', }) export class PermissionManagementComponent implements OnInit, OnChanges { @Input() @@ -54,7 +54,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges { @Select(PermissionManagementState.getPermissionGroups) groups$: Observable; - @Select(PermissionManagementState.getEntitiyDisplayName) + @Select(PermissionManagementState.getEntityDisplayName) entityName$: Observable; selectedGroup: PermissionManagement.Group; @@ -72,7 +72,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges { get selectedGroupPermissions$(): Observable { return this.groups$.pipe( map(groups => - this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [] + this.selectedGroup ? groups.find(group => group.name === this.selectedGroup.name).permissions : [], ), map(permissions => permissions.map( @@ -80,10 +80,10 @@ export class PermissionManagementComponent implements OnInit, OnChanges { (({ ...permission, margin: findMargin(permissions, permission), - isGranted: this.permissions.find(per => per.name === permission.name).isGranted - } as any) as PermissionWithMargin) - ) - ) + isGranted: this.permissions.find(per => per.name === permission.name).isGranted, + } as any) as PermissionWithMargin), + ), + ), ); } @@ -165,7 +165,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges { this.permissions = [ ...this.permissions.slice(0, index), { ...this.permissions[index], isGranted: !this.selectThisTab }, - ...this.permissions.slice(index + 1) + ...this.permissions.slice(index + 1), ]; }); }); @@ -176,7 +176,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges { onClickSelectAll() { this.permissions = this.permissions.map(permission => ({ ...permission, - isGranted: !this.selectAllTab + isGranted: !this.selectAllTab, })); this.selectThisTab = !this.selectAllTab; @@ -190,12 +190,12 @@ export class PermissionManagementComponent implements OnInit, OnChanges { submit() { this.modalBusy = true; const unchangedPermissions = getPermissions( - this.store.selectSnapshot(PermissionManagementState.getPermissionGroups) + this.store.selectSnapshot(PermissionManagementState.getPermissionGroups), ); const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions .filter(per => - unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true + unchangedPermissions.find(unchanged => unchanged.name === per.name).isGranted === per.isGranted ? false : true, ) .map(({ name, isGranted }) => ({ name, isGranted })); @@ -205,8 +205,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges { new UpdatePermissions({ providerKey: this.providerKey, providerName: this.providerName, - permissions: changedPermissions - }) + permissions: changedPermissions, + }), ) .subscribe(() => { this.modalBusy = false; @@ -227,8 +227,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges { .dispatch( new GetPermissions({ providerKey: this.providerKey, - providerName: this.providerName - }) + providerName: this.providerName, + }), ) .pipe(pluck('PermissionManagementState', 'permissionRes')) .subscribe((permissionRes: PermissionManagement.Response) => { diff --git a/npm/ng-packs/packages/theme-shared/jest.config.js b/npm/ng-packs/packages/theme-shared/jest.config.js index e70e3b65dc..718fcfe21b 100644 --- a/npm/ng-packs/packages/theme-shared/jest.config.js +++ b/npm/ng-packs/packages/theme-shared/jest.config.js @@ -8,4 +8,3 @@ module.exports = { moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths /*, { prefix: '/' } */), 'ts-jest': { allowSyntheticDefaultImports: true }, }; -z;