Skip to content

Commit f0a4d3a

Browse files
committed
test(project): added jest configuration
1 parent 3d2aede commit f0a4d3a

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

config/jestGlobalMocks.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
global['CSS'] = null;
2+
3+
const mock = () => {
4+
let storage = {};
5+
return {
6+
getItem: key => key in storage ? storage[key] : null,
7+
setItem: (key, value) => storage[key] = value || '',
8+
removeItem: key => delete storage[key],
9+
clear: () => storage = {},
10+
};
11+
};
12+
13+
Object.defineProperty(window, 'localStorage', {value: mock()});
14+
Object.defineProperty(window, 'sessionStorage', {value: mock()});
15+
Object.defineProperty(document, 'doctype', {
16+
value: '<!DOCTYPE html>'
17+
});
18+
Object.defineProperty(window, 'getComputedStyle', {
19+
value: () => {
20+
return {
21+
display: 'none',
22+
appearance: ['-webkit-appearance']
23+
};
24+
}
25+
});
26+
/**
27+
* ISSUE: https://github.com/angular/material2/issues/7101
28+
* Workaround for JSDOM missing transform property
29+
*/
30+
Object.defineProperty(document.body.style, 'transform', {
31+
value: () => {
32+
return {
33+
enumerable: true,
34+
configurable: true,
35+
};
36+
},
37+
});

config/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';

0 commit comments

Comments
 (0)