Browse Source

Merge pull request #2015 from abpframework/feature/jest-configs

feat: add jest.config files
pull/2018/head
Yasin Aydın 7 years ago
committed by GitHub
parent
commit
2d9ffa7922
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      npm/ng-packs/angular.json
  2. 7
      npm/ng-packs/packages/feature-management/jest.config.js
  3. 8
      npm/ng-packs/packages/feature-management/tsconfig.spec.json
  4. 7
      npm/ng-packs/packages/identity/jest.config.js
  5. 8
      npm/ng-packs/packages/identity/tsconfig.spec.json
  6. 7
      npm/ng-packs/packages/permission-management/jest.config.js
  7. 32
      npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts
  8. 2
      npm/ng-packs/packages/permission-management/src/lib/services/permission-management-state.service.ts
  9. 2
      npm/ng-packs/packages/permission-management/src/lib/states/permission-management.state.ts
  10. 8
      npm/ng-packs/packages/permission-management/tsconfig.spec.json
  11. 7
      npm/ng-packs/packages/tenant-management/jest.config.js
  12. 2
      npm/ng-packs/packages/tenant-management/src/lib/services/tenant-management-state.service.ts
  13. 8
      npm/ng-packs/packages/tenant-management/tsconfig.spec.json
  14. 7
      npm/ng-packs/packages/theme-basic/jest.config.js
  15. 8
      npm/ng-packs/packages/theme-basic/tsconfig.spec.json

30
npm/ng-packs/angular.json

@ -75,11 +75,9 @@
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-builders/jest:run",
"options": { "options": {
"main": "packages/theme-basic/src/test.ts", "coverage": true
"tsConfig": "packages/theme-basic/tsconfig.spec.json",
"karmaConfig": "packages/theme-basic/karma.conf.js"
} }
}, },
"lint": { "lint": {
@ -135,11 +133,9 @@
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-builders/jest:run",
"options": { "options": {
"main": "packages/permission-management/src/test.ts", "coverage": true
"tsConfig": "packages/permission-management/tsconfig.spec.json",
"karmaConfig": "packages/permission-management/karma.conf.js"
} }
}, },
"lint": { "lint": {
@ -168,11 +164,9 @@
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-builders/jest:run",
"options": { "options": {
"main": "packages/identity/src/test.ts", "coverage": true
"tsConfig": "packages/identity/tsconfig.spec.json",
"karmaConfig": "packages/identity/karma.conf.js"
} }
}, },
"lint": { "lint": {
@ -198,11 +192,9 @@
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-builders/jest:run",
"options": { "options": {
"main": "packages/feature-management/src/test.ts", "coverage": true
"tsConfig": "packages/feature-management/tsconfig.spec.json",
"karmaConfig": "packages/feature-management/karma.conf.js"
} }
}, },
"lint": { "lint": {
@ -231,11 +223,9 @@
} }
}, },
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-builders/jest:run",
"options": { "options": {
"main": "packages/tenant-management/src/test.ts", "coverage": true
"tsConfig": "packages/tenant-management/tsconfig.spec.json",
"karmaConfig": "packages/tenant-management/karma.conf.js"
} }
}, },
"lint": { "lint": {

7
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 },
};

8
npm/ng-packs/packages/feature-management/tsconfig.spec.json

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

7
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 },
};

8
npm/ng-packs/packages/identity/tsconfig.spec.json

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

7
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 },
};

32
npm/ng-packs/packages/permission-management/src/lib/components/permission-management.component.ts

@ -7,7 +7,7 @@ import {
Output, Output,
Renderer2, Renderer2,
SimpleChanges, SimpleChanges,
TrackByFunction TrackByFunction,
} from '@angular/core'; } from '@angular/core';
import { Select, Store } from '@ngxs/store'; import { Select, Store } from '@ngxs/store';
import { from, Observable } from 'rxjs'; import { from, Observable } from 'rxjs';
@ -22,7 +22,7 @@ type PermissionWithMargin = PermissionManagement.Permission & {
@Component({ @Component({
selector: 'abp-permission-management', selector: 'abp-permission-management',
templateUrl: './permission-management.component.html' templateUrl: './permission-management.component.html',
}) })
export class PermissionManagementComponent implements OnInit, OnChanges { export class PermissionManagementComponent implements OnInit, OnChanges {
@Input() @Input()
@ -54,7 +54,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
@Select(PermissionManagementState.getPermissionGroups) @Select(PermissionManagementState.getPermissionGroups)
groups$: Observable<PermissionManagement.Group[]>; groups$: Observable<PermissionManagement.Group[]>;
@Select(PermissionManagementState.getEntitiyDisplayName) @Select(PermissionManagementState.getEntityDisplayName)
entityName$: Observable<string>; entityName$: Observable<string>;
selectedGroup: PermissionManagement.Group; selectedGroup: PermissionManagement.Group;
@ -72,7 +72,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
get selectedGroupPermissions$(): Observable<PermissionWithMargin[]> { get selectedGroupPermissions$(): Observable<PermissionWithMargin[]> {
return this.groups$.pipe( return this.groups$.pipe(
map(groups => 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<PermissionManagement.Permission[], PermissionWithMargin[]>(permissions => map<PermissionManagement.Permission[], PermissionWithMargin[]>(permissions =>
permissions.map( permissions.map(
@ -80,10 +80,10 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
(({ (({
...permission, ...permission,
margin: findMargin(permissions, permission), margin: findMargin(permissions, permission),
isGranted: this.permissions.find(per => per.name === permission.name).isGranted isGranted: this.permissions.find(per => per.name === permission.name).isGranted,
} as any) as PermissionWithMargin) } as any) as PermissionWithMargin),
) ),
) ),
); );
} }
@ -165,7 +165,7 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
this.permissions = [ this.permissions = [
...this.permissions.slice(0, index), ...this.permissions.slice(0, index),
{ ...this.permissions[index], isGranted: !this.selectThisTab }, { ...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() { onClickSelectAll() {
this.permissions = this.permissions.map(permission => ({ this.permissions = this.permissions.map(permission => ({
...permission, ...permission,
isGranted: !this.selectAllTab isGranted: !this.selectAllTab,
})); }));
this.selectThisTab = !this.selectAllTab; this.selectThisTab = !this.selectAllTab;
@ -190,12 +190,12 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
submit() { submit() {
this.modalBusy = true; this.modalBusy = true;
const unchangedPermissions = getPermissions( const unchangedPermissions = getPermissions(
this.store.selectSnapshot(PermissionManagementState.getPermissionGroups) this.store.selectSnapshot(PermissionManagementState.getPermissionGroups),
); );
const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions const changedPermissions: PermissionManagement.MinimumPermission[] = this.permissions
.filter(per => .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 })); .map(({ name, isGranted }) => ({ name, isGranted }));
@ -205,8 +205,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
new UpdatePermissions({ new UpdatePermissions({
providerKey: this.providerKey, providerKey: this.providerKey,
providerName: this.providerName, providerName: this.providerName,
permissions: changedPermissions permissions: changedPermissions,
}) }),
) )
.subscribe(() => { .subscribe(() => {
this.modalBusy = false; this.modalBusy = false;
@ -227,8 +227,8 @@ export class PermissionManagementComponent implements OnInit, OnChanges {
.dispatch( .dispatch(
new GetPermissions({ new GetPermissions({
providerKey: this.providerKey, providerKey: this.providerKey,
providerName: this.providerName providerName: this.providerName,
}) }),
) )
.pipe(pluck('PermissionManagementState', 'permissionRes')) .pipe(pluck('PermissionManagementState', 'permissionRes'))
.subscribe((permissionRes: PermissionManagement.Response) => { .subscribe((permissionRes: PermissionManagement.Response) => {

2
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); return this.store.selectSnapshot(PermissionManagementState.getPermissionGroups);
} }
getEntityDisplayName() { getEntityDisplayName() {
return this.store.selectSnapshot(PermissionManagementState.getPermissionGroups); return this.store.selectSnapshot(PermissionManagementState.getEntityDisplayName);
} }
} }

2
npm/ng-packs/packages/permission-management/src/lib/states/permission-management.state.ts

@ -15,7 +15,7 @@ export class PermissionManagementState {
} }
@Selector() @Selector()
static getEntitiyDisplayName({ permissionRes }: PermissionManagement.State): string { static getEntityDisplayName({ permissionRes }: PermissionManagement.State): string {
return permissionRes.entityDisplayName; return permissionRes.entityDisplayName;
} }

8
npm/ng-packs/packages/permission-management/tsconfig.spec.json

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

7
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 },
};

2
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 { export class TenantManagementStateService {
constructor(private store: Store) {} constructor(private store: Store) {}
getTenants() { get() {
return this.store.selectSnapshot(TenantManagementState.get); return this.store.selectSnapshot(TenantManagementState.get);
} }

8
npm/ng-packs/packages/tenant-management/tsconfig.spec.json

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

7
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 },
};

8
npm/ng-packs/packages/theme-basic/tsconfig.spec.json

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

Loading…
Cancel
Save