Skip to content

Commit e907562

Browse files
andersteernMarkPieszak
authored andcommitted
Issue TrilonIO#160 Replace Karma test runner with Jest (TrilonIO#248)
Prevent coverage reports from being published Closes TrilonIO#160
1 parent fa98c6b commit e907562

File tree

8 files changed

+63
-69
lines changed

8 files changed

+63
-69
lines changed

.gitignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
yarn.lock
1717

1818
npm-debug.log.*
19-
19+
2020
# Build results
2121
[Dd]ebug/
2222
[Dd]ebugPublic/
@@ -255,4 +255,7 @@ _Pvt_Extensions
255255
.awcache
256256

257257
# VSCode files
258-
.vscode/chrome
258+
.vscode/chrome
259+
260+
# Jest Code Coverage report
261+
coverage/

Asp2017.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<None Remove="yarn.lock" />
2020
<Content Remove="wwwroot\dist\**" />
2121
<None Remove="Client\dist\**" />
22+
<Content Remove="coverage\**" />
2223

2324
<!-- Files not to publish (note that the 'dist' subfolders are re-added below) -->
2425
<Content Remove="Client\**" />
@@ -49,4 +50,4 @@
4950
<Delete Files="@(FilesToDelete)" />
5051
<RemoveDir Directories="Client\dist; wwwroot\dist" />
5152
</Target>
52-
</Project>
53+
</Project>

Client/test/jestGlobalMocks.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const mock = () => {
2+
let storage = {};
3+
return {
4+
getItem: key => key in storage ? storage[key] : null,
5+
setItem: (key, value) => storage[key] = value || '',
6+
removeItem: key => delete storage[key],
7+
clear: () => storage = {}
8+
};
9+
};
10+
11+
Object.defineProperty(window, 'localStorage', {value: mock()});
12+
Object.defineProperty(window, 'sessionStorage', {value: mock()});
13+
Object.defineProperty(window, 'getComputedStyle', {
14+
value: () => ['-webkit-appearance']
15+
});

Client/test/setupJest.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import 'jest-preset-angular';
2+
import './jestGlobalMocks';

Client/tsconfig.spec.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"extends": "../tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "../out-tsc/spec",
5+
"module": "commonjs",
6+
"target": "es5",
7+
"baseUrl": "",
8+
"types": [
9+
"jasmine",
10+
"node"
11+
]
12+
},
13+
"files": [
14+
],
15+
"include": [
16+
"**/*.spec.ts",
17+
"**/*.d.ts"
18+
]
19+
}

boot-tests.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

karma.conf.js

Lines changed: 0 additions & 26 deletions
This file was deleted.

package.json

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,26 @@
22
"name": "angular4-aspnetcore-universal",
33
"version": "1.0.0-rc3",
44
"scripts": {
5-
"test": "karma start Client/test/karma.conf.js",
5+
"test": "jest",
6+
"test:watch": "npm run test -- --watch",
7+
"test:ci": "npm run test -- --runInBand",
8+
"test:coverage": "npm run test -- --coverage",
69
"build:dev": "webpack --progress --color",
710
"build:aot": "webpack --env.aot --env.client & webpack --env.aot --env.server"
811
},
12+
"jest": {
13+
"preset": "jest-preset-angular",
14+
"setupTestFrameworkScriptFile": "./Client/test/setupJest.ts",
15+
"globals": {
16+
"__TS_CONFIG__": "Client/tsconfig.spec.json",
17+
"__TRANSFORM_HTML__": true
18+
},
19+
"coveragePathIgnorePatterns": [
20+
"/node_modules/",
21+
"<rootDir>/Client/test/.*.ts"
22+
],
23+
"coverageDirectory": "coverage"
24+
},
925
"dependencies": {
1026
"@angular/animations": "^4.0.0",
1127
"@angular/common": "^4.0.0",
@@ -60,15 +76,12 @@
6076
"@ngtools/webpack": "^1.3.0",
6177
"@types/chai": "^3.4.34",
6278
"@types/jasmine": "^2.5.37",
79+
"@types/jest": "^19.2.3",
6380
"chai": "^3.5.0",
6481
"codelyzer": "^3.0.0-beta.4",
6582
"jasmine-core": "^2.5.2",
66-
"karma": "^1.3.0",
67-
"karma-chai": "^0.1.0",
68-
"karma-chrome-launcher": "^2.0.0",
69-
"karma-cli": "^1.0.1",
70-
"karma-jasmine": "^1.0.2",
71-
"karma-webpack": "^1.8.0",
83+
"jest": "^20.0.0",
84+
"jest-preset-angular": "^2.0.1",
7285
"tslint": "^4.5.1"
7386
}
7487
}

0 commit comments

Comments
 (0)