Files
30-seconds-of-code/test/deepFreeze.test.js
Christian C. Salvadó 83a6a6ea32 [ENHANCEMENT] Properly configure eslint to work with jest (#988)
* chore: make aware eslint that we use jest

By setting up the jest environment, we no longer need to declare the
'test' global in the configuration.

* chore: don't need to import expect, it's a jest environment global

* chore: don't need to import expect when creating undefined test
2019-06-18 08:34:45 +03:00

35 lines
714 B
JavaScript

const {deepFreeze} = require('./_30s.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({});
});