Add unit tests for deepFreeze

This commit is contained in:
Siarhei
2018-09-14 12:26:08 +04:00
parent 392fd68333
commit 07f0c9889a

View File

@ -4,3 +4,32 @@ const deepFreeze = require('./deepFreeze.js');
test('deepFreeze is a Function', () => {
expect(deepFreeze).toBeInstanceOf(Function);
});
test('modifying deeply freezed object prop throws an error in strict mode', () => {
let freezedObj = deepFreeze({a: 42});
expect(() => {
'use strict';
freezedObj.a = 24;
}).toThrow();
});
test('should not modify deeply freezed object inside another object', () => {
let freezedObj = deepFreeze({
a: {
b: 42
}
});
freezedObj.a.b = 16;
expect(freezedObj.a.b).toBe(42);
});
test('should not add prop to deeply freezed empty object', () => {
let freezedObj = deepFreeze({});
freezedObj.a = 42;
expect(freezedObj).toEqual({});
});