From b3083e5ba5165397f5e1f91a53e4cba2de7b168e Mon Sep 17 00:00:00 2001 From: Warren Seymour Date: Thu, 3 Sep 2020 08:22:47 +0100 Subject: [PATCH] Add failing test case for stringifyJSON --- packages/redux-devtools-core/test/app.spec.js | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/redux-devtools-core/test/app.spec.js b/packages/redux-devtools-core/test/app.spec.js index bafc756e..71b42159 100644 --- a/packages/redux-devtools-core/test/app.spec.js +++ b/packages/redux-devtools-core/test/app.spec.js @@ -7,6 +7,8 @@ import App from '../src/app/containers/App'; import api from '../src/app/middlewares/api'; import exportState from '../src/app/middlewares/exportState'; import rootReducer from '../src/app/reducers'; +import { DATA_TYPE_KEY } from '../src/app/constants/dataTypes'; +import stringifyJSON from '../src/app/utils/stringifyJSON'; let wrapper; @@ -43,3 +45,25 @@ describe('App container', () => { ).toMatch(/
<\/div>/); }); }); + +describe('stringifyJSON', () => { + it('should not mutate the source object', () => { + const src = { + isTest: true, + [DATA_TYPE_KEY]: 'Test', + }; + + const result = { + data: { + isTest: true, + }, + __serializedType__: 'Test', + }; + + expect(stringifyJSON(src, true)).toEqual(JSON.stringify(result)); + expect(src).toEqual({ + isTest: true, + [DATA_TYPE_KEY]: 'Test', + }); + }); +});