This commit is contained in:
36
node_modules/@reduxjs/toolkit/src/tests/createDraftSafeSelector.test.ts
generated
vendored
Normal file
36
node_modules/@reduxjs/toolkit/src/tests/createDraftSafeSelector.test.ts
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
import { createDraftSafeSelector, createSelector } from '@reduxjs/toolkit'
|
||||
import { produce } from 'immer'
|
||||
|
||||
type State = { value: number }
|
||||
const selectSelf = (state: State) => state
|
||||
|
||||
test('handles normal values correctly', () => {
|
||||
const unsafeSelector = createSelector(selectSelf, (x) => x.value)
|
||||
const draftSafeSelector = createDraftSafeSelector(selectSelf, (x) => x.value)
|
||||
|
||||
let state = { value: 1 }
|
||||
expect(unsafeSelector(state)).toBe(1)
|
||||
expect(draftSafeSelector(state)).toBe(1)
|
||||
|
||||
state = { value: 2 }
|
||||
expect(unsafeSelector(state)).toBe(2)
|
||||
expect(draftSafeSelector(state)).toBe(2)
|
||||
})
|
||||
|
||||
test('handles drafts correctly', () => {
|
||||
const unsafeSelector = createSelector(selectSelf, (state) => state.value)
|
||||
const draftSafeSelector = createDraftSafeSelector(
|
||||
selectSelf,
|
||||
(state) => state.value
|
||||
)
|
||||
|
||||
produce({ value: 1 }, (state) => {
|
||||
expect(unsafeSelector(state)).toBe(1)
|
||||
expect(draftSafeSelector(state)).toBe(1)
|
||||
|
||||
state.value = 2
|
||||
|
||||
expect(unsafeSelector(state)).toBe(1)
|
||||
expect(draftSafeSelector(state)).toBe(2)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user