MatthiasMargot/redux-communication

View on GitHub
src/overwrite-deep/overwrite-deep.test.js

Summary

Maintainability
A
0 mins
Test Coverage
import overwriteDeep from './overwrite-deep'

describe('overwriteDeep', () => {
  it('recursively overwrites an object, while keeping not specified properties intact', () => {
    const initialObject = {
      foo:  'bar',
      baz:  'qux',
      quux: {
        corge:  'uier',
        grault: 'garply',
      },
    }

    const overwrite = {
      foo:  'baz',
      quux: {
        corge: 'grault',
        waldo: 'fred',
      },
    }

    const expected = {
      foo:  'baz',
      baz:  'qux',
      quux: {
        corge:  'grault',
        grault: 'garply',
        waldo:  'fred',
      },
    }

    expect(overwriteDeep(initialObject, overwrite)).toEqual(expected)
  })
})