Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aleclarson committed Oct 21, 2018
1 parent 13263c0 commit 93dcfc9
Showing 1 changed file with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion __tests__/base.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"use strict"
import produce, {setAutoFreeze, setUseProxies, nothing} from "../src/immer"
import produce, {setAutoFreeze, setUseProxies, nothing, isDraft} from "../src/immer"
import deepFreeze from "deep-freeze"
import cloneDeep from "lodash.clonedeep"
import * as lodash from "lodash"
Expand Down Expand Up @@ -1311,6 +1311,40 @@ function runBaseTest(name, useProxies, freeze, useListener) {
return freeze ? deepFreeze(data) : data
}
})

describe(`isDraft - ${name}`, () => {
beforeAll(() => {
setAutoFreeze(freeze)
setUseProxies(useProxies)
})

it('returns true for object drafts', () => {
produce({}, state => {
expect(isDraft(state)).toBeTruthy()
})
})
it('returns true for array drafts', () => {
produce([], state => {
expect(isDraft(state)).toBeTruthy()
})
})
it('returns true for objects nested in object drafts', () => {
produce({ a: { b: {} } }, state => {
expect(isDraft(state.a)).toBeTruthy()
expect(isDraft(state.a.b)).toBeTruthy()
})
})
it('returns false for new objects added to a draft', () => {
produce({}, state => {
state.a = {}
expect(isDraft(state.a)).toBeFalsy()
})
})
it('returns false for a returned draft', () => {
const result = produce({}, state => state)
expect(isDraft(result)).toBeFalsy()
})
})
}

function enumerableOnly(x) {
Expand Down

0 comments on commit 93dcfc9

Please sign in to comment.